C#特性(低频率使用)
新特性1、List?
//取第一个元素 List<string> list = null; //正常写法 if (list != null && list.Count() > 0) { string sFirst = list[0]; } //新特性 string firstX = list?[0].ToString();//如果list为空 则直接返回null 不会再获取list第一个集合 if (firstX != null)//说明有值 { //do }
新特性2、
nameof() 括弧内可以填写方法名、程序集名称、变量名称
重载问题:会有多个重名方法nameof 读取哪一个?
static void foo() { }
static void foo(int x) { }
Console.WriteLine(nameof(foo));
答案 谁先定义 读到的就是谁。