Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

特殊语法

一、var 隐式类型

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

1
2
3
4
var i=5;
var s =“123";
var array = new int[] {1,2,3,4};
var list = new List<int>();

注意:

  1. var 不能作为类的成员 只能用于临时变量申明时,也就是 一般写在函数语句块中
  2. var 必须初始化
  3. var 在编译时会被推断为正确类型,所以在运行时不会引入额外的性能开销 相当于在编译阶段 var 就会被翻译为指定的类型
  4. var 声明的临时变量只会影响代码的可读性和可维护性

二、设置对象初始值

申明对象时 可以通过直接写大括号的形式初始化公共成员变量和属性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Person
{
privatelint money;
public bool sex;
public string Name
{get;set;}
public int Age
{get;set;}
}

//可以不写全
Person p = new Person{sex = treu,Age = 10};
Person p = new Person{sex = treu,Name = "Tang"};

三、设置集合初始值

申明集合对象时,也可以通过大括号 直接初始化内部属性

1
2
int[] array2 =new int[]{1,2,3,4,5 };
List<int> listInt = new List<int>(){2,3,4,5,6};

四、匿名类型

var 变量可以申明为自定义的匿名类型

1
var v=new{age=10,money=11,name ="小明"};

五、可空类型

  1. 值类型是不能赋值为空的 //int c= null;
  2. 申明时 在值类型后面加? 可以赋值为空 int? c = null;
  3. 判断是否为空 c.HasValue
  4. 安全获取可控类型值
    1. 如果为空 默认返回 值类型的默认值 Console.WriteLine(value.GetValueorDefault());
    2. 也可以指定一个默认值 Console.WriteLine(value.GetValueorDefault(100));
  5. 特殊用法 o?.ToString(); 这里只有不是空才会执行 Tostring() 使用范围:委托,类,数组等

六、空合并操作符

可空合并操作符 ?? 左边值 ?? 右边值 如果左边值为 null 就返回右边值 否则返回左边值 只要是可以为 null 的类型都能用

1
2
3
4
5
6
7
//例子1
int? intv = null;
int intI = intv == null ?100 : intv.Value;
intI = intv ?? 100;
//例子2
string str = null;
str =str ?? "hahah";

七、内插字符串

关键符号:$ 用$来构造字符串,让字符串中可以拼接变量

1
2
string name =“Tang”;
Console.WriteLine("好好学习,{name}");

八、单句逻辑的简略写法

  1. 当循环或者 if 语句中只有 一句代码时 大括号可以省略
  2. 类中成员属性、函数 只有一句代码时 可以通过 => 赋值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//第一种案例
if(true)
Console.WriteLine("123123");
for(int j=0;j< 10;j++)
Console.WriteLine(j);
while(true)
Console.WriteLine("123123");

//第二种案例
class Person
{
privatelint money;
public bool sex;
public string Name => "省略写法";
public int Add(int x,int y)=>x+ y;
}

评论