C#中的條件判斷(?,??等等)
阿新 • • 發佈:2019-01-31
null值判斷
static void Main(string[] args)
{
string source = null;
string test = source ?? "null";
Console.WriteLine(test);
Console.ReadKey();
}
“??”兩個問號表示null值得判斷,在本例中,對test字串進行判斷,如果source為null,則test為“null”;如果source不為null,則取source的值。
真值判斷
static void Main(string[] args)
{
int x = 1;
int y = 2;
string result = x < y ? "true" : "false";
Console.WriteLine(result);
Console.ReadKey();
}
如果x
C#6.0的Null-Conditional Operator
static void Main(string [] args)
{
string test = null;
string temptest = test?.ToUpper()??"shit";
Console.WriteLine(temptest);
Console.ReadKey();
}
在我們使用一個物件的屬性的時候,有時候第一步需要做的事情是先判斷這個物件本身是不是null,不然的話你可能會得到一個System.NullReferenceException 的異常。雖然有時候我們可以使用三元運算子string name = person != null ? person.Name : null;來簡化程式碼,但是這種書寫方式還是不夠簡單……由於null值檢測時程式設計中非常常用的一種編碼行為,so,C#6為我們帶來了一種更為簡化的方式。