C# 中是否有类似 SQL 中的 isnull 的函数?
Is there any function in C# like isnull in SQL?
在 SQL 服务器中我们可以使用 "isnull" 函数,例如如果 Table1 包含 Field1 并且只有一个 Field1 为空的记录,我们可以编写此查询:
select isnull(Field1,0) from Table1
哪个returns“0”。
我们可以在 C# 中使用这样的函数吗?例如考虑 textBox1 为空。我想显示“0”。
MessageBox.show( FunctionName(textBox1.text , 0).toString());
您可以创建自己的函数:
int myfun(String text) {
if (string.IsNullOrEmpty(text)) {
return 0;
}
return 1;
}
if (String.IsNullOrEmpty(textBox1.Text))
您可以通过这种方式轻松完成,这与使用函数一样好:
MessageBox.show(String.IsNullOrEmpty(textBox1.Text) ? "" : textBox1.text);
尝试
MessageBox.show(String.IsNullOrEmpty(textBox1.Text) ? "0" : textBox1.text);
您可以创建一个扩展方法:
internal static class MyStringExtensions {
public static string GetValueOrDefault(this string extendee, string defaultValue) {
if(string.IsNullOrEmpty(extendee)) { return defaultValue;}
return extendee;
}
}
示例使用:
MessageBox.show( textBox1.text.GetValueOrDefault("0"));
您可以像这样使用 null-coalescing operator:
MessageBox.show( textBox1.text ?? "0" );
请注意,??
右侧的值需要与左侧的值类型相同,或者是隐式转换为左侧类型的类型。在示例中,两个值都是 string
类型,因此一切正常。
另请注意,如果值为空而不是 null
,将返回空字符串。
在 SQL 服务器中我们可以使用 "isnull" 函数,例如如果 Table1 包含 Field1 并且只有一个 Field1 为空的记录,我们可以编写此查询:
select isnull(Field1,0) from Table1
哪个returns“0”。
我们可以在 C# 中使用这样的函数吗?例如考虑 textBox1 为空。我想显示“0”。
MessageBox.show( FunctionName(textBox1.text , 0).toString());
您可以创建自己的函数:
int myfun(String text) {
if (string.IsNullOrEmpty(text)) {
return 0;
}
return 1;
}
if (String.IsNullOrEmpty(textBox1.Text))
您可以通过这种方式轻松完成,这与使用函数一样好:
MessageBox.show(String.IsNullOrEmpty(textBox1.Text) ? "" : textBox1.text);
尝试
MessageBox.show(String.IsNullOrEmpty(textBox1.Text) ? "0" : textBox1.text);
您可以创建一个扩展方法:
internal static class MyStringExtensions {
public static string GetValueOrDefault(this string extendee, string defaultValue) {
if(string.IsNullOrEmpty(extendee)) { return defaultValue;}
return extendee;
}
}
示例使用:
MessageBox.show( textBox1.text.GetValueOrDefault("0"));
您可以像这样使用 null-coalescing operator:
MessageBox.show( textBox1.text ?? "0" );
请注意,??
右侧的值需要与左侧的值类型相同,或者是隐式转换为左侧类型的类型。在示例中,两个值都是 string
类型,因此一切正常。
另请注意,如果值为空而不是 null
,将返回空字符串。