我通常使用这样的事情在整个应用程序的各种原因:
if (String.IsNullOrEmpty(strFoo))
{
FooTextBox.Text = "0";
}
else
{
FooTextBox.Text = strFoo;
}
如果我要去使用它了很多,我将创建一个返回所需的字符串的方法。 例如:
public string NonBlankValueOf(string strTestString)
{
if (String.IsNullOrEmpty(strTestString))
return "0";
else
return strTestString;
}
并使用它,如:
FooTextBox.Text = NonBlankValueOf(strFoo);
好像有什么事,这是C#的一部分会为我做到这一点我一直在想。 东西,可以这样调用:
FooTextBox.Text = String.IsNullOrEmpty(strFoo,"0")
第二个参数是所述返回值,如果String.IsNullOrEmpty(strFoo) == true
如果不是有没有人有他们使用任何更好的方法?
有一个空合并运算符( ??
),但它不会处理空字符串。
如果你只是在处理空字符串感兴趣,你可以使用它像
string output = somePossiblyNullString ?? "0";
您的需求,具体而言,根本就条件运算符bool expr ? true_value : false_value
bool expr ? true_value : false_value
,您可以使用该设置或返回一个值只是if / else语句块。
string output = string.IsNullOrEmpty(someString) ? "0" : someString;
您可以使用三元运算符 :
return string.IsNullOrEmpty(strTestString) ? "0" : strTestString
FooTextBox.Text = string.IsNullOrEmpty(strFoo) ? "0" : strFoo;
您可以编写自己的扩展为String类型的方法: -
public static string NonBlankValueOf(this string source)
{
return (string.IsNullOrEmpty(source)) ? "0" : source;
}
现在,您可以像使用任何字符串类型使用
FooTextBox.Text = strFoo.NonBlankValueOf();
这可以帮助:
public string NonBlankValueOf(string strTestString)
{
return String.IsNullOrEmpty(strTestString)? "0": strTestString;
}
老问题,但认为我会添加此助阵,
#if DOTNET35
bool isTrulyEmpty = String.IsNullOrEmpty(s) || s.Trim().Length == 0;
#else
bool isTrulyEmpty = String.IsNullOrWhiteSpace(s) ;
#endif