Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果字符串为null或为空,则返回字符串_C# - Fatal编程技术网

C# 如果字符串为null或为空,则返回字符串

C# 如果字符串为null或为空,则返回字符串,c#,C#,我知道如何检查字符串是否为空或空白。但是我想让我的代码更短。如果字符串为null或空,则返回一个值 到目前为止,我使用的是: string Foo=textbox1.Text; if(string.IsNullOrWhiteSpace(textbox1.Text); textbox1.Text="UserName"; 是否可以使用一行代码返回此结果 string Foo=textbox1.Text ?? "UserName"; 在本例中,它返回“我”;所以它认为我的文本框不是空的,它不会

我知道如何检查字符串是否为空或空白。但是我想让我的代码更短。如果字符串为null或空,则返回一个值

到目前为止,我使用的是:

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");