C#中??运算符的使用方法 下载本文

内容发布更新时间 : 2024/7/5 22:59:56星期一 下面是文章的全部内容请认真阅读。

??是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())); } }

本文由www.bailinglan.net转载