C#教程之C# 新特性 操作符单?与??和 ?. 的使用

pk10开奖历史

VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
pk10开奖历史 > 编程开发 > C#编程 >
  • C#教程之C# 新特性 操作符单?与??和 ?. 的使用

  • 2019-06-29 15:40 来源:未知

pk10开奖历史 1.单问号(?)

1.1 单问号运算符可以表示:可为Null类型,C#2.0里面实现了Nullable数据类型

//A.比如下面一句,直接定义int为null是错误的,错误提示为无法将null转化成int,因为后者是不可以为null的值类型。
private int getNum = null;

//B.如果修改为下面的写法就可以初始指为null,在特定情况下?等同于基础类型为Nullable。
private int? getNum = null;
private Nullable<int> getNumNull = null;

pk10开奖历史 2。双问号(??)

?? 运算符称为 null 合并运算符,用于定义可以为 null 值的类型和引用类型的默认值。如果此运算符的左操作数不为 null,则此运算符将返回左操作数;否则返回右操作数。

复制代码
//A.定义getNum为null,输出结果为0
private int? getNum = null;
Console.WriteLine(getNum ?? 0);

//B.定义getNum为1,输出结果为1
private int getNum = 1;
Console.WriteLine(getNum ?? 0);
复制代码

3。 ?。如果为空不报错误,不为空原值输出

复制代码
using System;
using System。Collections。Generic;
using System.Linq;
using System.Linq.Expressions;
using System。Text;
using System。Threading;
using System。Threading。Tasks;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            myFun(null); // 123
            myFun("456");//  456

            Person personA = new Person() { name = "chenyishi" };
            Console.WriteLine(personA?.name);

            personA = null;
            Console。WriteLine(personA?.name);//person==null,仍不会报错
        }


        static void myFun(string argA)
        {
            Console。WriteLine(argA ?? "123"); //argA==null,则输出123
        }
    }

    class Person
    {
        public string name { get; set; }
    }
}
复制代码

原文:

http://www.cnblogs.com/appleyrx520/p/7018610.html

http://www。cnblogs。com/chenyishi/p/8329752。html

相关教程
pk10开奖历史_sN=lgheaG pk10开奖历史_0A6$oa0!y pk10开奖历史_Z3FZ4BI+6 pk10开奖历史_B&Qi1I8y5 pk10开奖历史_9AtvRXqeZ pk10开奖历史_bU^J5Imu? pk10开奖历史_64TO*LA~K pk10开奖历史_ErKvmgy^h pk10开奖历史_^qsxuzu$g pk10开奖历史_gNl7XPbU1