C#——特殊语法

145 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情

var隐式类型

var是一种特殊的变量类型,它可以用来表示任意类型的变量。

要注意的是:

1.var不能作为类的成员只能用于临时变量申明时,也就是一般写在函数语句块中

2.var必须初始化

var i = 5;
var s = “123";
var array = new int[] { 1,234 };
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[] { 1234,5 };
List<int> listInt = new List<int>( { 123456 };
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");