在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
类型系统:运行模型:整型: 浮点: 财务: 布尔: 字符: 引用类型: Console控制字符:{序号,空间:控制字符与精度} 如:{0,3:C2} {空间:#.00} 其中,#表示该位置如果有字符就显示,否则忽略;0如果有显示,否则显示0 xml注释:类权限控制符:类修饰符:泛型约束:yield语句原理:1.创建可枚举类型 2.使用 3.生成原理 正则表达式:转移符\ ; [1|c] 1或c ; [a-z] a到z之一 集合高层接口:集合性能: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()转换成并行源。
规则: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参数异常 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论