C# 中是否有任何函数,例如 SQL 中的 isnull
本文关键字:例如 SQL 中的 isnull 函数 是否 任何 | 更新日期: 2023-09-27 18:36:18
在SQL服务器中,我们可以使用"isnull"函数,例如,如果Table1包含Field1并且只有一个Field1为null的记录,我们可以编写此查询:
select isnull(Field1,0) from Table1
返回"0"。
我们可以在 C# 中使用任何这样的函数吗? 例如,考虑 textBox1 为空。 我想显示"0"。
MessageBox.show( FunctionName(textBox1.text , 0).toString());
您可以创建扩展方法:
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 合并运算符:
MessageBox.show( textBox1.text ?? "0" );
请注意,在??
的右侧,值需要与左侧的类型相同,或者属于隐式转换为左侧类型的类型。在示例中,这两个值都是 string
类型,因此一切正常。
另请注意,如果值为空而不是null
,则将返回空字符串。
您可以以这种方式轻松完成此操作,这与使用函数一样好:
MessageBox.show(String.IsNullOrEmpty(textBox1.Text) ? "" : textBox1.text);
试试
MessageBox.show(String.IsNullOrEmpty(textBox1.Text) ? "0" : textBox1.text);
使用IsNullOrEmpty
,
if (String.IsNullOrEmpty(textBox1.Text))
您可以创建自己的函数:
int myfun(String text) {
if (string.IsNullOrEmpty(text)) {
return 0;
}
return 1;
}