小编Dim*_*kos的帖子

C# 空传播

为什么这段代码会抛出ArgumentNullException

string text = null;
        
var x = text?.Split('#');
        
var y = x.ElementAtOrDefault(1);   
Run Code Online (Sandbox Code Playgroud)

但这并没有:

string text = null;
        
var z = text?.Split('#').ElementAtOrDefault(1);
Run Code Online (Sandbox Code Playgroud)

在第一个片段中,我必须使用空传播运算符?

string text = null;
        
var x = text?.Split('#');

var y = x?.ElementAtOrDefault(1);
Run Code Online (Sandbox Code Playgroud)

但在第二种情况下不需要这样做:

var z = text?.Split('#')?.ElementAtOrDefault(1);
Run Code Online (Sandbox Code Playgroud)

https://dotnetfiddle.net/rCbIMj

c#

0
推荐指数
1
解决办法
93
查看次数

标签 统计

c# ×1