c#资料

2018-06-17 20:13:57来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

类型系统:

image

运行模型:

image

整型:

image

浮点:

image

财务:

image

布尔:

image

字符:

image

引用类型:

image

Console控制字符:

{序号,空间:控制字符与精度} 如:{0,3:C2}

{空间:#.00} 其中,#表示该位置如果有字符就显示,否则忽略;0如果有显示,否则显示0

image

xml注释:

image

image

类权限控制符:

image

类修饰符:

image

泛型约束:

image

yield语句原理:

1.创建可枚举类型

image

2.使用

image

3.生成原理

image

image

正则表达式:

转移符\  ; [1|c] 1或c  ; [a-z] a到z之一

image

集合高层接口:

image

集合性能:

image

image

LINQ查询操作符:

筛选:普通筛选(where);索引筛选(.Where((r,index)=>bool);类型筛选(OfType<type>())

源选择:普通源(from);复合源(SelectMany(源选择器,目标选择器) )

排序:普通排序(orderby等);反转(.Reverse() )

分组:普通分组(group r by r.id into g  )生成新的IGrouping<key,source>结构数据源

源连接:join 连接源 on 键选择相等判断器

集合操作:Distinct()删除重复元素;Union并集,Except差集,Intersect交集,Zip合并项

分页:Skip(跳过项数).Take(返回项数)

统计:Count()项数,Sum()累加,Min()最小值,Max()最大值,Average()平均值,Aggregate()累算

转换:ToList()等

生成源:Range()整数范围,Empty()空序列,Repear()重复项。

判断:Any任一项符合条件即返回布尔值;All 所有项;Contains 存在项;

查找:First()首项,Last()尾项,Single()唯一项,ElementAt()位置项

并行LINQ:AsParallel()转换成并行源。

image

image

 

规则:

1.局部变量使用前须初始化。

2.var 变量须初始化,由编译器推断出类型,是一个语法糖。如是引用类型必须为新建对象。var可绑定匿名类型,如:var obj= new {Sex=”girl”,Age=21};

3.局部变量不能在作用范围内重名。

4.常量须初始化,须编译期值可用,固定为static(静态)。

5.switch的case必须为常量,当某case段为空可以跳到下一case执行。

6.命名空间别名前缀是::

7.静态构造函数由运行库调用,因此有特定的规格,无访问修饰符,无参数。

8.readonly只能在构造函数中设置。

9.构造初始化器调用另一个构造函数 (构造函数后:this(…) 或者 : base(…) )。

10.结构有默认构造,无法替换

11.结构字段不接受初始值

12.静态类的静态函数,第一个参数类型是”this 某类”,则为某类的扩展方法。(语法糖)

13.内嵌类可访问外部类所有成员。

14.泛型:default( T ) 泛型默认值。

15.策略:协变(out)接口用于参数类型,抗变(in)接口直接调用元素。

16.可空类型int? ,?? 受编译系统厚爱,充满语法糖和特殊编译插入。

17.foreach (var p in persons) Console.writeLine( p); ==>IEnumerator<Person> enumerator=persons.GetEnumerator(); while(enumerator.MoveNext()){ Person p = enumerator.Current; Console.WriteLine( p);}

18.装箱操作:1.调用继承的函数(如果已重写就不会);2.复制到引用基类或接口;3.个人意见,用泛型解决装箱的问题。

19.比较操作包括:1.静态Object.ReferenceEquals()比较引用一致;2.虚拟Equals();3.静态Equals();4.比较运算符==;5.IEqualityComparer<T> 6.比较器。假如比较代码由自己控制,用比较器定义相等较为灵活;假如要集成进某个库,重载Equals();

20.委托具备多播功能,相关操作符+,+=,-,-=。

21.lambda访问外部变量是通过产生匿名类传递变量。

22.事件在语法上有些类似属性,包装委托变量。

23.Idisposable接口实现释放资源操作,GC.SuppressFinalize(this)让系统不再调用该对象析构函数,提升性能。策略一.当不理会托管资源时,只需保证Dispose()可重入,析构函数调用Dispose();策略二.当想调控托管资源,用Dispose(false)对应析构函数调用操作,Dispose(true)对应Dispose()操作,两者差异在于直接调用Dispose()需要负责释放托管资源,并调用GC.SuppressFinalize(this)来告之系统不再调用析构函数。

24.Exception 异常基类,IOException IO异常,SystemException dotNet系统异常,ApplicationException第三方定义异常,StackOverflowException栈溢出异常,EndOfStreamException 超出流末端异常,OverfalowException溢出异常,ArgumetException参数异常

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:C#中this的作用

下一篇:调试.NET程序OutOfMemoryException (转载)