0

我最近下载了 Dropthings 门户,并在代码中发现了一种新语法。

ConfigurationManager.AppSettings["t"] ?? string.Empty

我想知道它是否类似于 NULLABLE 类型,如果 config... 为 NULL,则将使用此值。有人可以澄清我的观察,因为我在 MSDN 中也找不到等效示例吗?

4

3 回答 3

2

是的,你是对的,

a ?? b意思是,a如果a 不为空,b如果是

这有点相当于a == null ? b : a

于 2013-03-25T16:02:04.577 回答
2

?? _ 运算符称为空值合并运算符,用于为可空值类型或引用类型定义默认值。如果操作数不为空,则返回左侧操作数;否则返回正确的操作数。

例子

 int? x = null;

 // y = x, unless x is null, in which case y = -1. 
 int y = x ?? -1;

查看ScottGu 的博客以了解此运算符的简单说明。

于 2013-03-25T16:02:27.847 回答
2

您的??代码中的 实际是 C# 语言中内置的一项功能。它被称为Null Coalescing Operator。您可以在任何 C# 代码中使用它。

string someValue = null;
Console.WriteLine(someValue ?? "Default Value"); //Default Value
于 2013-03-25T16:02:31.957 回答