use*_*261 62 c# if-statement isnullorempty
我通常在整个应用程序中出于各种原因使用这样的东西:
if (String.IsNullOrEmpty(strFoo))
{
FooTextBox.Text = "0";
}
else
{
FooTextBox.Text = strFoo;
}
Run Code Online (Sandbox Code Playgroud)
如果我要使用它很多,我将创建一个返回所需字符串的方法.例如:
public string NonBlankValueOf(string strTestString)
{
if (String.IsNullOrEmpty(strTestString))
return "0";
else
return strTestString;
}
Run Code Online (Sandbox Code Playgroud)
并使用它像:
FooTextBox.Text = NonBlankValueOf(strFoo);
Run Code Online (Sandbox Code Playgroud)
我总是想知道是否有一些东西是C#的一部分,它会为我做这件事.可以称之为的东西:
FooTextBox.Text = String.IsNullOrEmpty(strFoo,"0")
Run Code Online (Sandbox Code Playgroud)
第二个参数是返回值if String.IsNullOrEmpty(strFoo) == true
如果不是,有人有更好的方法吗?
Ant*_*ram 127
有一个null合并运算符(??
),但它不会处理空字符串.
如果你只对处理空字符串感兴趣,你可以使用它
string output = somePossiblyNullString ?? "0";
Run Code Online (Sandbox Code Playgroud)
根据您的具体需要bool expr ? true_value : false_value
,您可以使用条件运算符来简单地设置或返回值的if/else语句块.
string output = string.IsNullOrEmpty(someString) ? "0" : someString;
Run Code Online (Sandbox Code Playgroud)
Jim*_*hel 13
您可以使用三元运算符:
return string.IsNullOrEmpty(strTestString) ? "0" : strTestString
FooTextBox.Text = string.IsNullOrEmpty(strFoo) ? "0" : strFoo;
Run Code Online (Sandbox Code Playgroud)
您可以为String类型编写自己的Extension方法: -
public static string NonBlankValueOf(this string source)
{
return (string.IsNullOrEmpty(source)) ? "0" : source;
}
Run Code Online (Sandbox Code Playgroud)
现在你可以像使用任何字符串类型一样使用它
FooTextBox.Text = strFoo.NonBlankValueOf();
Run Code Online (Sandbox Code Playgroud)
这可能有所帮助:
public string NonBlankValueOf(string strTestString)
{
return String.IsNullOrEmpty(strTestString)? "0": strTestString;
}
Run Code Online (Sandbox Code Playgroud)