我一直在尝试优化我的代码,使其更简洁和可读,并希望我没有造成更差的性能.我认为我的更改可能会减慢我的应用程序,但它可能只是在我脑海中.两者之间是否有任何性能差异:
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)
我对可读性的偏好是空合并运算符,我只是不希望它影响性能.
如果C#允许一个?? =运算符,那将是非常好的.我发现自己经常写下面的内容:
something = something ?? new Something();
Run Code Online (Sandbox Code Playgroud)
我宁愿这样写:
something ??= new Something();
Run Code Online (Sandbox Code Playgroud)
思考?新的语言扩展总是存在争议的本质.