您当前的位置: 首页 >  .net

君子居易

暂无认证

  • 0浏览

    0关注

    210博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

.NET常用类库知识

君子居易 发布时间:2019-02-11 10:05:56 ,浏览量:0

.NET常用类库知识

.NET中的字符串 字符串的特性

1.不可变性 由于字符串是不可变的的,每次修改字符串,都是创建了一个单独字符串副本(拷贝了一个字符串副本)。之所以发生改变只是因为指向了一块新的地址。

2.字符串池(只针对字符串常量) 当一个程序中有多个相同的字符串常量时,多个变量指向的是内存中同一块字符串!这个特性叫字符串池。之所以字符串,不会造成程序混乱,是因为字符串的不可变性。

String的成员方法和属性

PS:这里重载方式很多,不一一列举。

1.Contains(String str) 判断字符串中是否包含,指定字符串。

用法

  string str ="helloworld";

  str.Contains("hello");   //true 

 2.StartsWith(String str)

 
  • 5

2.StartsWith(String str)

      判断字符串对象是否以,指定字符串开头。
  • 1

3.EndWith(String str)

     判断字符串对象是否以,指定字符串结尾。
  • 1

4.Length 属性

     获取字符串的长度
  • 1

5.IndexOf(String str)

     获取指定字符/字符串.....在对象字符串中第一次出现的位置。
  • 1

6.LastIndexOf(String str)

     获取指定字符/字符串....在对象字符串中最后一次 出现的位置。
  • 1

7.SubString(int start)

SubString(int strat, int length) 从指定位置,截取字符串。

8.ToLower()

    将串转换成小写,返回一个新的全小写的字符串。
  • 1

9.ToUpper()

   将串转换成大写,返回一个新的全大写的字符串。
  • 1
  1. Replace(string oldStr,string newStr)

    用新的字符串,替换对象字符串中老的字符串部分。
    
    • 1

11.Trim() 去掉对象字符串两端的空格

    TrimStart() 去掉对象字符串 开头的空格

    TrimEnd()  去掉对象字符串  结尾的空格

    PS:如果想去掉其他的开头结尾的其他字符其他的字符,可以采用Trim()的其他重载。
  • 1
  • 2
  • 3
  • 4
  • 5

12.Split() 把对象字符串,按照指定字符分割成一个字符串数组!

 Split()    的重载同样很多,

 例如 Split(new char[]{'|'}, StringSplitOption.RemoveEmptyEntries)// 删除空数据
  • 1
  • 2
  • 3
String的静态方法

1.IsNullOrEmpty(string)

   //string.IsNullOrEmpty(str1) 判断某字符串是否为null,或者为空字符串。
  • 1

2.Equals(string,string,StringComparison.OrdianlIgnore) 忽略大小写比较两个字符串是否相同。 3.Join(string,string[]) 把一个数组按照指定字符串,拼接成一个字符串。

.NET中的计时器控件Timer 介绍Timer控件的常用属性和事件
  1. Interval 属性表示 Timer控件的时间间隔。

    类型是int默认是毫秒。

  2. Enabled 属性 表示Timer控件是否激活。

如果激活的话,一进入Timer的Tick事件就开始执行。所以默认是false

  1. Start() 方法

    开始执行

  2. Stop() 方法

    停止执行

  3. Tick 事件

    表示Timer控件将要执行的代码。

常规使用方式

1.添加一个Timer控件

2.设置好必要的属性后。直接写 timer_Tick事件。在事件中写个停止条件就好了。

使用Lambda表达式调用Timer

Timer timer = new Timer();

timer.Interval = 100;

//使用Lambda表达式

timer.Tick += (sender,e) =>

{

 if (巴拉巴拉巴拉)

    {                   

      timer.Stop();
    }

};

timer.Start();

.NET中的StringBuilder 为什么要使用StringBuilder

为什么使用StringBuilder要从string对象的特性说起。

string对象在进行字符串拼接时,因为字符串的不可变性,string对象会每次拼接,都会复制一个副本出来进行运算,而本身的串仍然留在内存中,大量的临时片段会造成不可忽视的性能损耗。所以在进行大量的字符串拼接时建议使用StringBuilder

StringBuilder的简单使用方式

string s1 = “33”;

string s2 = “44”;

string s3 = “55”; //需求是把 s1 s2 s3拼接在一起。这是一种典型的字符串拼接。

//使用StringBuilder ,不会产生无用的临时字符串。

StringBuilder sb =new StringBuilder();

//拼接方式一

sb.Append(s1);

sb.Append(s2);

sb.Append(s3);

//拼接方式二

//因为Append()方法会返回一个this,也就是对象本身。所以可以使用这种方式。

//链式编程 Jquery中常用这种方式

sb.Append(s1).Append(s2).Append(s3);

//最后把sb.ToString()一下就好了。

PS:AppendLine()方法可以 自动添加一个回车。

.NET 中的DateTime DateTime简介

DateTime是.NET中的时间类型,可以通过DateTime完成诸如获取当前的系统时间等操作。 DateTime在.NET中是一个结构体,而并不是一个类。

DateTime的常用方法和成员

1.Now 获取当前系统时间。格式如下图 clipboard[2]

2.Today 获取当前今日日期。格式如下图 clipboard[3]

3.年 月 日 时 分 秒 接下来的几个对象,必须通过 DateTime.Now(或者DateTime.Today)再点才能引用的到。 Year 获取年 Hour 获取小时 Month 获取月 Minute 获取分钟 Day 获取日 Second 获取秒 //以Year为例:DataTime.Now.Year

4.DayOfWeek、DayOfYear 获取当前日期是星期几 以及获取当前日期是一年中的第几天

5.TryParse() 判断是否是时间类型,参数中有一个out可以输出一个DateTime对象。 6.AddDays()、AddHours()

在当前时间基础上加几天 返回一个DateTime 在当前日期基础上加几个小时 返回一个DateTime 7.Subtract(DateTime.Now) 比较两个时间的 时间差 返回一个TimeSpan

日期时间格式字符 ToString()

预定义模式 DateTime date =DateTime.Now; date.ToString(format) 参数format格式详细用法 格式字符 关联属性/说明 d ShortDatePattern D LongDatePattern f 完整日期和时间(长日期和短时间) F FullDateTimePattern(长日期和长时间) g 常规(短日期和短时间) G 常规(短日期和长时间) m、M MonthDayPattern r、R RFC1123Pattern s 使用当地时间的 SortableDateTimePattern(基于 ISO 8601) t ShortTimePattern T LongTimePattern u UniversalSortableDateTimePattern 用于显示通用时间的格式 U 使用通用时间的完整日期和时间(长日期和长时间) y、Y YearMonthPattern

自定义模式 d 月中的某一天。一位数的日期没有前导零。 dd 月中的某一天。一位数的日期有一个前导零。 ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。 dddd 周中某天的完整名称,在 DayNames 中定义。 M 月份数字。一位数的月份没有前导零。 MM 月份数字。一位数的月份有一个前导零。 MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。 MMMM 月份的完整名称,在 MonthNames 中定义。 y 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。 yy 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。 yyyy 包括纪元的四位数的年份。 gg 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。 h 12 小时制的小时。一位数的小时数没有前导零。 hh 12 小时制的小时。一位数的小时数有前导零。 H 24 小时制的小时。一位数的小时数没有前导零。 HH 24 小时制的小时。一位数的小时数有前导零。 m 分钟。一位数的分钟数没有前导零。 mm 分钟。一位数的分钟数有一个前导零。 s 秒。一位数的秒数没有前导零。 ss 秒。一位数的秒数有一个前导零。

.NET中的异常和异常处理 .NET中的异常(Exception)

.net中的中异常的父类是Exception,大多数异常一般继承自Exception。

可以通过编写一个继承自Exception的类的方式,自定义异常类!

异常处理机制 Try

{

可能发生异常的代码

后续代码     

}

Try以外的代码

catch(Exception e)

{

}

finally

{

}

上述代码描述如下

1.谁能执行 在异常处理中,一旦try里面有了问题,程序会放弃异常的后续代码直接跳到catch中。

执行完了catch中的代码,继续执行Try以外的代码。

2.关于catch()中的参数e

e就是发生异常的异常类对象,可以任意取名。不是必须叫e的。

3.只抛一个

一块try中的代码只能抛出一个异常。

为什么呢?

因为一旦异常就抛出了啊,后面有也不执行了呀!

4.获取信息

可以通过 e.Message获取异常信息

5.必须执行

finally 无论如何都会执行

6.可以没有catch

可以只有 try catch

也可以只有try finally

优秀的异常处理作风

1.不要逃避问题不要只把异常catch住,什么都不做,或者只是打印一下,这不是优秀的“异常处理”作风。

不知道怎么处理异常,就不要catch。让他暴露出来。既然发生异常了,问题就肯定是有的,逃避不是办法,直面他,才能解决他。尤其在分层的项目中。会让程序陷入深度的逻辑混乱状态。而问题被藏起来了,你甚至不知道哪里发生了问题。

2.如果真的遇到乱try、catch的程序员怎么办?

vs很强大,它想到了这种情况。点击【调试】【异常】进入这样一个工具,选中第二行 的引发选项。

clipboard[4]

这样在调试的时候,无论是否try catch都会暴漏出异常。我们想要的信息就找到了。

转载

 

关注
打赏
1660814979
查看更多评论
立即登录/注册

微信扫码登录

0.2597s