Dre*_*Dre 1 c# null nullable null-check
我有以下代码,
bool HasPassed= (result!= null && result.Identifier.Equals("Passed"))? true : false
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但我想知道是否可以以更好、更简化的方式编写这段代码,也许使用?运算符(或空合并运算符)。我仍在学习这一点,不太明白在这种情况下如何使用它。以下是一个用于测试的最小项目,非常感谢任何建议!
Result result = new Result();
//result.Identifier = "Passed";
result = null;
bool HasPassed = (result != null && result.Identifier.Equals("Passed")) ? true : false;
public class Result
{
public string Identifier { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
首先,任何时候你有表格的条件condition ? true : false,你都可以将其替换为condition。
所以你可以从以下开始:
bool HasPassed= (result!= null && result.Identifier.Equals("Passed"));
Run Code Online (Sandbox Code Playgroud)
然后,您可以删除括号并重命名局部变量以遵循 .NET 命名约定:
bool hasPassed = result != null && result.Identifier.Equals("Passed");
Run Code Online (Sandbox Code Playgroud)
最后,使用 null 条件运算符和==字符串重载:
bool hasPassed = result?.Identifier == "Passed";
Run Code Online (Sandbox Code Playgroud)
同样安全,但在我看来更具可读性和简洁性。
| 归档时间: |
|
| 查看次数: |
454 次 |
| 最近记录: |