(转)C#中两个问号和一个问号 ??

小问题难倒很多人。今天发现了这个问题,搜了很长时间才看到记录下。

实例:dt.Columns.Add(firstRow.GetCell(i).StringCellValue ?? string.Format("F{0}", i + 1), typeof(string));

以下是转载的内容。

C#中两个问号的双目运算符

view sourceprint?

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            int? a;

            a = null;//此时输出3

            //a = 6;//此时输出6

            int b = a ?? 3;

            Console.Write(b);

            Console.ReadKey();

        }

    }

}

变量定义中含有一个问号,意思是这个数据类型是NullAble类型的。

 变量定义中含有两个问号,意思是取所赋值??左边的,如果左边为null,取所赋值??右边的。

原文地址:https://www.cnblogs.com/wangyt223/p/4368685.html