相关疑难解决方法(0)

?:操作员与 如果声明表现

我一直在尝试优化我的代码,使其更简洁和可读,并希望我没有造成更差的性能.我认为我的更改可能会减慢我的应用程序,但它可能只是在我脑海中.两者之间是否有任何性能差异:

Command.Parameters["@EMAIL"].Value = email ?? String.Empty;
Run Code Online (Sandbox Code Playgroud)

Command.Parameters["@EMAIL"].Value = (email == null) ? String.Empty: email;
Run Code Online (Sandbox Code Playgroud)

if (email == null)
{
    Command.Parameters["@EMAIL"].Value = String.Empty
}
else
{
    Command.Parameters["@EMAIL"].Value = email
}
Run Code Online (Sandbox Code Playgroud)

我对可读性的偏好是空合并运算符,我只是不希望它影响性能.

.net c# performance if-statement operators

33
推荐指数
5
解决办法
9964
查看次数

空合并赋值运算符?

如果C#允许一个?? =运算符,那将是非常好的.我发现自己经常写下面的内容:

something = something ?? new Something();
Run Code Online (Sandbox Code Playgroud)

我宁愿这样写:

something ??= new Something();
Run Code Online (Sandbox Code Playgroud)

思考?新的语言扩展总是存在争议的本质.

c# language-features operators null-coalescing-operator

21
推荐指数
2
解决办法
5246
查看次数