特殊语法
一、var 隐式类型
var 是一种特殊的变量类型 它可以用来表示任意类型的变量
1 | var i=5; |
注意:
- var 不能作为类的成员 只能用于临时变量申明时,也就是 一般写在函数语句块中
- var 必须初始化
- var 在编译时会被推断为正确类型,所以在运行时不会引入额外的性能开销 相当于在编译阶段 var 就会被翻译为指定的类型
- var 声明的临时变量只会影响代码的可读性和可维护性
二、设置对象初始值
申明对象时 可以通过直接写大括号的形式初始化公共成员变量和属性
1 | class Person |
三、设置集合初始值
申明集合对象时,也可以通过大括号 直接初始化内部属性
1 | int[] array2 =new int[]{1,2,3,4,5 }; |
四、匿名类型
var 变量可以申明为自定义的匿名类型
1 | var v=new{age=10,money=11,name ="小明"}; |
五、可空类型
- 值类型是不能赋值为空的 //int c= null;
- 申明时 在值类型后面加? 可以赋值为空
int? c = null; - 判断是否为空
c.HasValue - 安全获取可控类型值
- 如果为空 默认返回 值类型的默认值
Console.WriteLine(value.GetValueorDefault()); - 也可以指定一个默认值
Console.WriteLine(value.GetValueorDefault(100));
- 如果为空 默认返回 值类型的默认值
- 特殊用法
o?.ToString();这里只有不是空才会执行 Tostring() 使用范围:委托,类,数组等
六、空合并操作符
可空合并操作符 ?? 左边值 ?? 右边值 如果左边值为 null 就返回右边值 否则返回左边值 只要是可以为 null 的类型都能用
1 | //例子1 |
七、内插字符串
关键符号:$ 用$来构造字符串,让字符串中可以拼接变量
1 | string name =“Tang”; |
八、单句逻辑的简略写法
- 当循环或者 if 语句中只有 一句代码时 大括号可以省略
- 类中成员属性、函数 只有一句代码时 可以通过 => 赋值
1 | //第一种案例 |