1.? -Nullable
C# 里像int,bool,double 这样的struct和enum类型都不能为null.如果确实想在值域上加上null的话,
Nullable就派上用场了.T?是Nullable<T> 的语法糖.要将T?转为T可以通过类型转换,或者通过T?的Value属性
例:

int? arg=-1;
if(arg.HasValue){
int value=arg.Value;
}

int?和int的区别就是int?可以赋值为null,但是int不可以

2.??
O ?? V 可以看作是O==null ? V:O 的语法糖.??运算符在左操作数非null时返回左操作数.否则返回右操作数

int? i=null;
return i ?? "True";

3.=> lambda 表达式

4.{} --initializer 初始化器
collection initializer (集合初始化器)使得初始化一个List,Dictionary变得简单了
例:

List<string> list = new List<string>{"watashi", "rejudge"};
Dictionary<string, string> dic = new Dictionary<string, string>
{
{"watashi", "watashi wa watashi"},
{"rejudge", "-rejudge -pia2dea4"}
};

对应的还有object initializer 对象初始化器

5.var -implicit type (隐式类型)
var 只是个在声明变量时代替实际的类型名的语法糖,只能使用在编译器能根据上下文推出其实际类型的地方,这在类型名称藏在好几层namespace或class里的时候,还有在foreach 语句中非常有用

相关文章:

  • 2021-08-27
  • 2022-12-23
  • 2021-09-21
  • 2021-08-31
  • 2021-09-20
  • 2021-06-01
  • 2021-10-09
  • 2021-05-23
猜你喜欢
  • 2022-01-10
  • 2021-09-19
  • 2022-02-22
  • 2021-09-06
  • 2021-10-17
  • 2021-12-06
  • 2022-01-16
相关资源
相似解决方案