1. 程式人生 > >C#中的條件判斷(?,??等等)

C#中的條件判斷(?,??等等)

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為我們帶來了一種更為簡化的方式。