C# 如果字符串为null或为空,则返回字符串
我知道如何检查字符串是否为空或空白。但是我想让我的代码更短。如果字符串为null或空,则返回一个值 到目前为止,我使用的是:C# 如果字符串为null或为空,则返回字符串,c#,C#,我知道如何检查字符串是否为空或空白。但是我想让我的代码更短。如果字符串为null或空,则返回一个值 到目前为止,我使用的是: string Foo=textbox1.Text; if(string.IsNullOrWhiteSpace(textbox1.Text); textbox1.Text="UserName"; 是否可以使用一行代码返回此结果 string Foo=textbox1.Text ?? "UserName"; 在本例中,它返回“我”;所以它认为我的文本框不是空的,它不会
string Foo=textbox1.Text;
if(string.IsNullOrWhiteSpace(textbox1.Text);
textbox1.Text="UserName";
是否可以使用一行代码返回此结果
string Foo=textbox1.Text ?? "UserName";
在本例中,它返回“我”;所以它认为我的文本框不是空的,它不会返回我想要的结果。
我的案例中有任何工作示例吗?textbox1.Text永远不会为空。如果文本框为空,则为“”,不为空。你可以用
string Foo = string.IsNullOrWhiteSpace(textbox1.Text) ? "UserName": textbox1.Text;
空合并运算符仅适用于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");