??: 如果操作符左边的变量不为空,则返回变量的值, 否则返回其右边(变量)的值.
例:
// nullable_type_operator.cs
using System;
class MainClass
{
static int? GetNullableInt()
{
return null;
}
static string GetStringValue()
{
return null;
}
static void Main()
{
// ?? operator example.
int? x = null;
// y = x, unless x is null, in which case y = -1.
int y = x ?? -1;
Console.WriteLine("y={0}", y);
// Assign i to return value of method, unless
// return value is null, in which case assign
// default value of int to i.
int i = GetNullableInt() ?? default(int);
string s = GetStringValue();
// ?? also works with reference types.
// Display contents of s, unless s is null,
// in which case display "Unspecified".
Console.WriteLine(s ?? "Unspecified");
Console.Read();
}
}
运行结果:

本文通过示例介绍了C#中的空合并运算符(? ?)的使用方法。该运算符用于判断左侧变量是否为null,若不为null则返回其值;若为null,则返回右侧变量的值。文章演示了其在值类型和引用类型中的应用。
1743

被折叠的 条评论
为什么被折叠?



