NULL检查运算符(?.)

 

  例如我们要获取一个Point序列的第一个点的X坐标,第一感觉会这么写:

    int firstX = points.First().X;

  但是,老鸟会告诉你,这儿没有进行NULL检查,正确的版本是这样的:

   int? firstX = null;    
   if (points != null)     
   {  
    var first = points.FirstOrDefault();   
     if (first != null)        
     firstX = first.X;   
   } 

  正确倒是正确了,代码取变得难读多了。在C# 6.0中,引入了一个 ?. 的运算符,前面的代码可以改成如下形式:

    int? firstX = points?.FirstOrDefault()?.X;

上一篇:first-入门python


下一篇:[LeetCode]1078.Bigram分词