国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#中??運算符的使用方法

2023-05-03 13:32:45
字體:
來源:轉載
供稿:網友

??是C#2.0中新增的一個運算符,可以認為是三元操作符?:的簡版,其主要作用是如果 ?? 運算符的左操作數非空,該運算符將返回左操作數,否則返回右操作數。如果能較好地使用此操作符,將會得到意想不到的效果。

public class Program
{
  
class MyClass {}
   
  
static MyClass instance;
  
static void Main()
   {
      
//如果instance == null,則做初始化 
     
      
//常規寫法:
       if(instance == null)
       {
          instance
= new MyClass();
       }
      
//使用??的寫法:
       instance = instance ?? new MyClass();
   }
}

也可以用于函數的返回值中:

public class Program
    {
       
public string Str1 { get; set; }
       
public string Str2 { get; set; }
       
public string Str3 { get; set; }
       
//如果Str1不為NULL返回Str1,否則Str2,以此類推
        public override string ToString()
        {
           
//if-else常規寫法
              if (Str1 != null)
            {
               
return Str1;
            }
           
else if (Str2 != null)
            {
               
return Str2;
            }
           
else if (Str3 != null)
            {
               
return Str3;
            }
           
else
            {
               
return base.ToString();
            }
           
//?:運算符寫法
              return Str1 != null ? Str1 : (Str2 != null ? Str2 : (Str3 != null ? Str3 : base.ToString()));
           
//??運算符寫法
             return Str1 ?? (Str2 ?? (Str3 ?? base.ToString()));
        }
    }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 全椒县| 宣武区| 林口县| 曲麻莱县| 盱眙县| 旅游| 资兴市| 淮北市| 若尔盖县| 乌拉特中旗| 石城县| 偃师市| 河北区| 安溪县| 安乡县| 恩施市| 赤水市| 湘乡市| 龙泉市| 淮滨县| 松阳县| 乡城县| 榆林市| 石首市| 六盘水市| 安岳县| 张家港市| 凤庆县| 关岭| 岳池县| 郑州市| 台东县| 哈尔滨市| 丹东市| 航空| 应城市| 错那县| 郸城县| 巴南区| 调兵山市| 汉川市|