簡體   English   中英

C#6.0檢查局部變量或對象是否為空(非字段)的方法使用空傳播算子

[英]C# 6.0 Approach to Checking if Local Variable or Object is Null (not a field) Using the Null-propagation Operator

我知道使用新的C#6.0,您可以在以下簡化示例中檢查null:

MyClass myClass = new MyClass();
string example = myClass?.someFieldInMyClass;

這是檢查空值的更簡潔方法。 大!

我很好奇是否有辦法使用new運算符檢查傳入的局部變量或參數是否為null。 因此,如果將參數傳遞給類似的方法:

    public static void SomeMethod(mytype t) 
   {
       AnotherClass.myfield = t; 
   }

有沒有辦法檢查t是否為空? 我一直在尋找文檔,但沒有找到任何東西。

我在尋找像Anotherclass.somefield = ?t;這樣的東西Anotherclass.somefield = ?t;

是否期望在通過之前檢查它? 我想這樣做的原因是我傳遞的是自定義類型,這是另一個類的屬性。 然后我用我傳入的自定義屬性設置另一個類。

也許這只是代碼味道,我願意接受建議。

我不確定你要完成什么,但如果你想避免覆蓋它的價值

AnotherClass.myfield 

如果可能為null,則可以執行此操作

AnotherClass.myfield = t ?? AnotherClass.myfield;

然后,如果t為非null,它將僅更改myfield的賦值,否則它將保留其先前的賦值(重新分配)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM