程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> C#中一個問號(?)和兩個問號(??)的運算符解析

C#中一個問號(?)和兩個問號(??)的運算符解析

編輯:C#基礎知識

(1)、C#語法中一個個問號(?)的運算符是指:可以為 null 的類型。

 MSDN上面的解釋:

null to numeric and Boolean types is especially useful when you are dealing with databases and other data types that contain elements that may not be assigned a value.'>在處理數據庫和其他包含不可賦值的元素的數據類型時,將 null 賦值給數值類型布爾型以及日期類型的功能特別有用。true or false, or it may be undefined.'>例如,數據庫中的布爾型字段可以存儲值 true 或 false,或者,該字段也可以未定義。

true or false, or it may be undefined.'> 

true or false, or it may be undefined.'> (2)、C#語法中兩個問號(??)的運算符是指null 合並運算符,合並運算符為類型轉換定義了一個預設值,以防可空類型的值為Null。

MSDN上面的解釋:

?? operator is called the null-coalescing operator and is used to define a default value for a nullable value types as well as reference types.'>?? 運算符稱為 null 合並運算符,用於定義可以為 null 值的類型和引用類型的默認值。如果此運算符的左操作數不為 null,則此運算符將返回左操作數(左邊表達式);否則當左操作數為 null,返回右操作數(右邊表達式)。


C# Code:

int? x = null;//定義可空類型變量
int? y = x ?? 1000;//使用合並運算符,當變量x為null時,預設賦值1000

Console.WriteLine(y.ToString()); //1000

 

        /// <summary>
        /// Gets a single instance
        /// </summary>
        public static Log LogInstance
        {
              get

              {

                   return _log ?? (_log = new Log()); //如果此運算符的左操作數不為 null,則此運算符將返回左操作數;否則返回右操作數。
               }
        }

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved