美文网首页
C#语法糖

C#语法糖

作者: 祝你万事顺利 | 来源:发表于2019-07-12 11:31 被阅读0次

计算机语言中添加某种语法,这种语法对语言的功能没有影响,但是方便程序员使用。使用语法糖增加代码的可读性,减少程序代码出错的机会。
一.自动属性
以前:手写私有变量+公有属性
现在:声明空属性,编译器自动生成对应私有成员字段。
写法:输入prop ,连续按两次tab键,自动生成属性。
二.隐式类型(var)
var定义变量有一下四个特点:
1、必须在定义时初始化
2、一旦初始化完成,就不能再给变量赋与初始值不同类型的值了
3、var要求是局部变量
4、使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样
三.参数默认值和命名参数
C#方法的可选参数是.net 4.0最新提出的新的功能,对应简单的重载可以使用可选参数和命名参数混合的形式来定义方法,这样就可以很高效的提高代码的运行效率
设计一个方法的参数时,可以部分或全部参数分配默认值。调用其方法时,可以重新指定分配了默认值的参数,也可以使用默认值。重新指定分配默认值的参数时,可以显式地为指定参数名称赋值;隐式指定的时候,是根据方法参数的顺序,靠C#编译器的推断。
四、对象初始化器和集合初始化器
五、匿名类和匿名方法
有时候你定义的类只是用来封装一些相关的数据,但并不需要相关联的方法、事件和其他自定义的功能。
现在定义一个匿名对象来表示一个人

var aPeople=new {pName="张三",pAge=26,pSex="男"};

六、扩展方法
为什么要有扩展方法,就是为了在不修改源码的情况下,为某个类增加新的方法。
语法:
定义静态类,并添加public的静态方法,第一个参数代表扩展方法的扩展类。它必须放在一个非嵌套、非泛型的静态类中(的静态方法);它至少有一个参数;第一个参数必须附加this关键字;第一个参数不能有任何其他修饰符(out/ref).第一个参数不能是指针类型。
七、内置泛型委托
Action<T>
可以使用Action<T>委托以参数形式传递方法,而不用显示声明自定义的委托。
八、Lambda表达式
Lambda表达式是比匿名方法更简洁的一种匿名方法语法
九、标准查询运算符
标准查询运算符:定义在System.Linq.Enumerable类中的50多个为IEnumerable<T>准备的扩展方法,这些方法用来对它操作的集合进行查询筛选。
筛选集合where:需要提供一个带bool返回值的“筛选器”,从而标明集合中某个元素是否应该被返回。
查询投射:返回新对象集合IEnumerable<TSource> Select()
统计数量int Count()
多条件排序 OrderBy().ThenBy().ThenBy()
集合连接 Join()

相关文章

  • C#语法糖($)(?.)(??)

    实际上是C# 6.0对string.Format的改进 将字符串文本标识为内插字符串($) 根据微软的例子来看: ...

  • C#语法糖

    定义 语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter ...

  • C#语法糖

    计算机语言中添加某种语法,这种语法对语言的功能没有影响,但是方便程序员使用。使用语法糖增加代码的可读性,减少程序代...

  • C# 7.0 新特性

    C# 7.0 也快要发布了,查看了下new features,感觉C#也越来越有点儿动态语言的感觉了,各种语法糖,...

  • ASP.NET 谨用 async/await

    C# 5.0 引入 async/await 关键字,旨在简化异步编程模型,抛去语法糖就是 Net4.0 的 Tas...

  • C#语法糖大汇总

    1. 经过简化的Property早些时候我们这样声明Property 千篇一律的这样声明,没有多大意义,于是C#...

  • Dart的一些语法糖(持续更新)

    语法糖 ?. 与 ?? dart 语法糖 ?. dart 语法糖 ??

  • Swift语法糖的使用

    Swift语法糖的使用 语法糖的简介 语法糖Selector例子 语法糖的简介 我个人对语法糖的理解就是让你的代码...

  • 浅析ES6 箭头函数(上)

    最初接触 箭头函数 => 是在C# 中的Lambda表达式, Lambda表达式作为CLR4 中新引入的语法糖 本...

  • [KBEngine] KBEngine与ET的优缺点

    都是分布式服务器框架,都有集成寻路导航功能 ET的特点: ET可以共用C#代码、集成await/async语法糖、...

网友评论

      本文标题:C#语法糖

      本文链接:https://www.haomeiwen.com/subject/trfekctx.html