C# net中双问号的用法
可能重复:C# net中双问号的用法,c#,.net,programming-languages,C#,.net,Programming Languages,可能重复: 什么是使用??在.Net中?如何在分配变量时使用它进行检查?你能写一些代码片段来更好地解释内容吗?它与某些可空值相关吗?它是。运算符“?”称为空合并运算符,用于定义可空值类型以及引用类型的默认值 当我们需要为一个可为空的变量分配一个不可为空的变量时,它非常有用。如果我们在赋值时不使用它,就会出现如下错误 无法将类型“int”隐式转换为“int”。存在显式转换(是否缺少强制转换?) 为了克服这个错误,我们可以做如下 using System; using System.Collect
什么是使用??在.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());
}
}
}
绝对是个傻瓜。不必费心搜索,就像OP一样……虽然很多人认为它是重复的,但它仍然是谷歌的第一个搜索结果,所以我会关闭其他重复的,而不是这一个!