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

  • 相关阅读:
    MVC模式-----struts2框架(2)
    MVC模式-----struts2框架
    html的<h>标签
    jsp脚本元素
    LeetCode "Paint House"
    LeetCode "Longest Substring with At Most Two Distinct Characters"
    LeetCode "Graph Valid Tree"
    LeetCode "Shortest Word Distance"
    LeetCode "Verify Preorder Sequence in Binary Search Tree"
    LeetCode "Binary Tree Upside Down"
  • 原文地址:https://www.cnblogs.com/Nobel/p/4063361.html
Copyright © 2011-2022 走看看