jhu*_*ter 14 c# null-coalescing-operator
我有一堆字符串我需要使用.Trim(),但它们可以为null.如果我可以做的事情会更简洁:
string endString = startString !?? startString.Trim();
Run Code Online (Sandbox Code Playgroud)
如果左侧的部分为非null,则基本上返回右侧的部分,否则只返回空值.我最后使用了三元运算符,但是为了这个目的,无论如何都要使用null-coalescing运算符?
use*_*116 12
不是规格:不是我喜欢它,但你可以使用:
string endString = (startString ?? String.Empty).Trim();
Run Code Online (Sandbox Code Playgroud)
对于规范,更好的扩展方法,如@ Kevin's:
string endString = (startString == null ? null : startString.Trim());
Run Code Online (Sandbox Code Playgroud)
kem*_*002 12
您可以创建一个扩展方法,该方法null
在尝试修剪该值时返回.
public String TrimIfNotNull(this string item)
{
if(String.IsNullOrEmpty(item))
return item;
else
return item.Trim();
}
Run Code Online (Sandbox Code Playgroud)
请注意,您无法将其命名为Trim,因为扩展方法无法覆盖实例方法.