在.net中使用双重问号
可能重复:
C#中两个问号在一起意味着什么?
什么是使用? 在.Net中? 如何在分配变量时使用它来检查? 你能否写一些代码片段来更好地解释内容? 它与一些可空的相关吗?
运营商 '??' 被称为空合并运算符,该运算符用于为可为空的值类型以及引用类型定义默认值。
当我们需要将一个可为空的变量赋值为一个不可为空的变量时,它非常有用。 如果我们在分配时没有使用它,我们会得到类似的错误
不能隐式转换类型'int?' 到'int'。 存在明确的转换(您是否缺少演员?)
为了克服这个错误,我们可以做如下...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace GenConsole
{
class Program
{
static void Main(string[] args)
{
CoalescingOp();
Console.ReadKey();
}
static void CoalescingOp()
{
// A nullable int
int? x = null;
// Assign x to y.
// y = x, unless x is null, in which case y = -33(an integer selected by our own choice)
int y = x ?? -33;
Console.WriteLine("When x = null, then y = " + y.ToString());
x = 10;
y = x ?? -33;
Console.WriteLine("When x = 10, then y = " + y.ToString());
}
}
}
它是空合并运算符。
链接地址: http://www.djcxy.com/p/53837.html