📅  最后修改于: 2020-11-01 03:08:07             🧑  作者: Mango
C#Null传播者是运算符。它用于检查对象引用链中的空值。此运算符是两个符号(问号(?)和逗号(,))的组合。
在C#代码中,如果我们使用null对象调用方法或属性,则编译器将引发System.NullReferenceException异常。如果我们不检查代码中的null,则会收到此异常。
为了避免这种异常,我们可以使用null传播运算符。
在下面的示例中,我们在调用方法之前通过使用if块检查空引用。
using System;
namespace CSharpFeatures
{
class Student
{
public string Name { get; set; }
public string Email { get; set; }
}
class NullConditionalOperator
{
public static void Main(string[] args)
{
Student student = new Student() { Name = "Rahul Kumar"};
// Checking for null value
if(student.Name != null)
{
Console.WriteLine(student.Name.ToUpper());
}
}
}
}
输出量
Rahul Kumar
在下面的示例中,我们使用Null Propagator运算符检查空引用。
using System;
namespace CSharpFeatures
{
class Student
{
public string Name { get; set; }
public string Email { get; set; }
}
class NullConditionalOperator
{
public static void Main(string[] args)
{
Student student = new Student() { Name="Peter", Email = "peter@abc.com"};
Console.WriteLine(student?.Name?.ToUpper() ?? "Name is empty");
Console.WriteLine(student?.Email?.ToUpper() ?? "Email is empty");
Student student1 = new Student();
Console.WriteLine(student1?.Name?.ToUpper() ?? "Name is empty");
Console.WriteLine(student1?.Email?.ToUpper() ?? "Email is empty");
}
}
}
输出量
PETER
PETER@ABC.COM
Name is empty
Email is empty