zoukankan      html  css  js  c++  java
  • c#资料

    类型系统:

    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参数异常

  • 相关阅读:
    oracle 关于对时间操作的汇总
    rank() partition by 排名次
    oracle 行列转换
    一篇介绍jquery很好的
    基于文件,对文件内容进行增删该查
    js对象的定义及处理
    一篇很好介绍stringBuffer和StringBuilder的区别--来自百度
    关于正则表达式的一个简单应用
    关于Json处理的两个实例
    关于wait和notify的用法
  • 原文地址:https://www.cnblogs.com/Nobel/p/4063361.html
Copyright © 2011-2022 走看看