var隐式类型
var是一种特殊的变量类型,它可以用来表示任意类型的变量。
要注意的是:
1.var不能作为类的成员只能用于临时变量申明时,也就是一般写在函数语句块中
2.var必须初始化
var i = 5; var s = “123"; var array = new int[] { 1,2,3,4 }; var list = new Listcint>();
设置对象初始值
申明对象时,可以通过直接写大括号的形式初始化公共成员变是和属性
Person p = new Person( 106){ sex = true,Age = 18,Name = "张三"}; Person p2 = new Person( 200){ Age = 18 };
设置集合初始值
申明集合对象时,也可以通过大括号直接初始化内部属性
int[] array2 = new int[] { 1,2,3,4,5 }; List<int> listInt = new List<int>( { 1,2,3,4,5,6 }; List<person> 1.istPerson = new List<person>() { new Person(28e) , new Person(180){Age = 10}, new Person(1){sex = true,Name ="张三"} }; Dictionary<int,string> dic = new Dictionary<int,string>() { { 1,"123"}, { 2,"222"} };
匿名类型
var变量可以申明为自定义的匿名类型
var v = new i age = 10,money = 11,name = "小明"; console.writeLine(v.age); Console.writeLine(v.name);
可空类型
1.值类型是不能赋值为空的
int c = null;
2.申明时在值类型后面加?可以赋值为空
int?c= null;
3.判断是否为空
if( c.Hasvalue ) { console.writeLine(c); Console.writeLine(c.value); }
4.安全获取可空类型值
int? value = null;
4-1.如果为空默认返回值类型的默认值
Console.writeLine(value.GetvalueorDefault());
4-2.也可以指定一个默认值
Console.writeLine(value.GetvalueorDefault(100));
空合并操作符
空合并操作符??
左边值??右边值
如果左边值为null就返回右边值,否则返回左边值,其实只要是可以为null的类型都能用。
int? intv = null; //int intI = intv == null ? 100 : intv.value; int inti = intv ??100; console.writeLine(intI); string str = null; str = str ?? "hahah"; Console.writeLine(str);
内插字符串
关键符号:$
用$来构造字符串,让字符串中可以拼接变量
string name ="张三"; int age = 18; Console.writeLine($"好好学习,{name},年龄:{age}");
单句逻辑简略写法
当循环或者if语句中只有一句代码时大括号可以省略
if (true) Console.writeLine("123123"); for (int j=0; j<10;j++) Console.writeLine(j); while (true) console.writeLine("123123");