特殊语法
Contents
var
- var是一种特殊的变量类型 可以用来表示任意类型的变量
- var不能作为类的成员 只能用于临时变量的声明
- var必须初始化
- 可以声明为自定义的匿名类型
var a = 5;//int
var str = "122";//string
//匿名类型
var v = new {age = 10,money = 11,name="明"}
Console.Write(v.age);设置对象的初始值
class Test{
public int Age{get;set;}
public string Name{get;set;}
}
Test t = new Test(){Age = 5,Name = "路飞"};
//可省略括号
Test t2 = new Test{Age = 5,Name = "路飞"};设置集合的初始值
int[] array = new int[]{1,2,3,4,5};
List<int> listInt = new List<int>(){1,2,3,4,5};
List<Test> listTest = new List<Test>(){
new Test(),
new Test{Age = 15,Name = "阿拉拉"}
}可空类型
- 值类型不可以为空
- 可空类型可以让值类型为空 声明时在类型后加?
- 使用时需要判断是否为空
int a = null;//报错
int? b = null;
if(b.HasValue){ //可空类型其实是一个泛型结构体包裹了int HasValue是可空类型提供的方法
Console.WriteLine(b);
}安全获取可空类型的值
int? value = null;
//不填参数返回这个参数的默认值 0 也可以指定一个默认值 作为参数填入
Console.WriteLine(value.GetValueOrDefault());可空类型语法糖
object o = null;
if(o!=null){o.Tostring()}
//可以直接写成
o?.ToString();//如果是空则不会执行ToSring空合并操作符
- 空合并操作符??
- 左边值??右边值
- 如果左边值为null 就返回右边值 否则返回左边指
- 只要是可以为null的类型就可以使用
int? a = null;
int b = a == null ? 100 : a.Value;//三目运算符写法
int c = a??100; //如果a为null返回100 否则返回a内插字符串
- 关键符号:$
- 用$来构造字符串,让字符串中可以拼接变量
string name = "肥伦";
Console.WriteLine($"好好学习{name}");
//等同于
Console.WriteLine("好好学习{0}",name);
Console.WriteLine("好好学习"+name);单句逻辑简略写法
if(true)return;
for(int i = 0;i<5;i++)Console.WriteLine(i);
public int add(int x,int y) => x + y;
public int Age{get=>age;set=>age=10;}