C# 6.0:nameof操作符】的更多相关文章

C# 6.0 引入了一个名为“nameof”的新的操作符,它的作用是接收元素而后返回元素名字.这个操作符能将class和class的所用成员,比如方法.变量以及属性作为参数而后返回一个它们的名字.这避免我们在代码中hardcode字符串,也避免使用反射来获得这些名字. 下面的代码块是一个使用nameof的简单例子. class Program { static void Main(string[] args) { WriteLine(nameof(Student)); WriteLine(nam…
1.对已有操作符的重载: 2.可定制的操作符: 3.定制前缀操作符: 4.定制后缀操作符: 5.定制中缀操作符:…
Table 类: public class DemoDataContext : DataContext { public DemoDataContext (string cxString) : base (cxString) {} public Table<Customer> Customers { get { return GetTable<Customer>(); } } public Table<Purchase> Purchases { get { return…
在引入nameof操作符的同时,C# 6.0 还引入了Null-Conditional操作符.它使开发者可以检查object引用链中的null值.这个null-conditional 操作符写作"?.",会在引用链中任一个为null时返回null.这避免了对每一级进行null检查. 假设我们有一个class为Student,它有一个属性Address,同时这个属性的type是一个名为Address的Class.现在我们用下面的代码块来print它的HomeAddress. if (st…
自动属性初始化 (Initializers for auto-properties) 以前我们是这么写的 为一个默认值加一个后台字段是不是很不爽,现在我们可以这样写 只读属性的初始化(Getter-only auto-properties) 像用户ID这种只读属性,我们以前是这样写的 现在我们可以这样写 只读属性可以和标了readonly的字段一样在构造函数里面赋值. 用Lambda作为函数体 (Expression bodies on method-like members) 平时总是有一些短…
1. 静态using(static using) 静态using声明允许不使用类名直接调用静态方法. The static using declaration allows invoking static methods without the classname. In C# 5 using System; Console.WriteLine("Hello, World!"); In C# 6 using static System.Console; WriteLine("…
历史版本 C#作为微软2000年以后.NET平台开发的当家语言,发展至今具有17年的历史,语言本身具有丰富的特性,微软对其更新支持也十分支持.微软将C#提交给标准组织ECMA,C# 5.0目前是ECMA发布的最新规范,C# 6.0还是草案阶段,C# 7.1是微软当前提供的最新规范. 这里仅仅列个提纲,由于C# 5.0是具有ECMA标准规范的版本,所以选择C# 5.0作为主要版本学习,并专题学习C# 6.0,7.0版本新特性. C#语言规范GitHub库参见:https://github.com/…
C#6.0新特性 Auto-Property enhancements(自动属性增强) Read-only auto-properties (真正的只读属性) Auto-Property Initializers (自动属性的初始化) Expression-bodied function members (表达式方法体) using static (导入类静态方法) Null-conditional operators (一元空值检查操作符?.) String Interpolation (字符…
历史版本C#作为微软2000年以后.NET平台开发的当家语言,发展至今具有17年的历史,语言本身具有丰富的特性,微软对其更新支持也十分支持.微软将C#提交给标准组织ECMA,C# 5.0目前是ECMA发布的最新规范,C# 6.0还是草案阶段,C# 7.1是微软当前提供的最新规范. 这里仅仅列个提纲,由于C# 5.0是具有ECMA标准规范的版本,所以选择C# 5.0作为主要版本学习,并专题学习C# 6.0,7.0版本新特性. C#语言规范GitHub库参见:https://github.com/d…
先来看一段Json.Net的代码 public JObject ToJson() { var result = new JObject(); result["X"] = X; result["Y"] = Y; return result; } 改进后的代码可以这么写 public JObject ToJson() { var result = new JObject() { ["X"] = X, ["Y"] = Y }; re…