我知道如何检查字符串是否为NullOrWhiteSpace。但是我想使我的代码更短。如果我的字符串为null或为空,则返回一个值。
现在我使用这个:
string Foo=textbox1.Text;
if(string.IsNullOrWhiteSpace(textbox1.Text);
textbox1.Text="UserName";
是否可以使用一行代码返回此结果?
string Foo=textbox1.Text ?? "UserName";
在此示例中,返回“”;因此,它认为我的文本框不为null,也没有返回我想要的结果。 我的案子有没有可行的例子?
答案 0 :(得分:6)
textbox1.Text永远不会为null。如果文本框为空,则为“”,不为null。您可能会使用
string Foo = string.IsNullOrWhiteSpace(textbox1.Text) ? "UserName": textbox1.Text;
答案 1 :(得分:2)
null 合并运算符仅与null
一起使用。不是空字符串。
您可以编写扩展方法来执行您想要的操作。
public static class EX
{
public static string IfNullOrWhiteSpace(this string s, string replacement)
{
if (string.IsNullOrWhiteSpace(s))
{
return replacement;
}
return s;
}
}
像这样使用它:
string Foo = textbox1.Text.IfNullOrWhiteSpace("UserName");