C# 冷知識

C# 的冷知識:@,?,??,?: 的用法

直接貼上一段代碼,先看下面的代碼

public struct Vector{
	int x;
	int y;

	public Vector(int x, int y){
		this.x = x;
		this.y = y;
	}
}

public class MyClass {
	static int Func1(string @string, Vector? vector = null){
		string @return = "xxx";
		Vector? v1 = new Vector(0, 0);
		Vector? v2 = null;
		vector = v1 ?? v2;
		vector = @return == "" ? v1 : v2;
		return 0;
	}
}

1. @用法

@除了轉義字符串之外,還有另一個用處,就是修飾參數字段,被@修飾的參數字段,如果是語法中關鍵字,它將失去它的意義,例如Func1中的@string和@return,當然,原有的關鍵字依然可以使用。

2. ?用法

?跟在類型後面,作用是:讓一個不能爲null的類型變量可以爲null
例如Vector結構體不能爲null,加上?後就可以複製null了。

3. ??用法

??是判斷連個表達式或者兩個變量,意義爲:??左邊不爲null返回左邊的值,否則發返回右邊的值。注意,如果多個連續運算,如v1 ?? v2 ?? v3,是從右往左運算的,及v1 ?? (v2 ?? v3)

4. ?:用法

?:就是三元原運算符,意義爲:判斷?左邊表達式爲ture還是false,真則返回:左邊的值,假則返回:右邊的值。

發佈了23 篇原創文章 · 獲贊 6 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章