[英]validating String.IsNullOrEmpty in C# with ternary operator
在大多数情况下,当我使用C#并需要验证空字符串或空字符串时,我使用以下方法:
if (String.IsNullOrEmpty(s))
return "is null or empty";
else
但是现在我需要这样使用:
string value= data.value==null?DBNull.Value:data.value;
我尝试在最后一句话中使用两者
string value= String.IsNullOrEmpty(data.value)?DBNull.Value:data.value;
但是即使属性data.value中没有任何值,BTW data.value是一个字符串,但始终返回true,请问我的句子是否正确或者是什么问题?
首先,您不能使用string value = DBNull.Value
因为这些类型不兼容。 您必须强制转换为System.Object
的通用类型,然后赋值就变成了这种类型,它使用强制转换来确保类型兼容性:
object value = String.IsNullOrEmpty(data.value)
? (object) DBNull.Value
: (object) data.value;
如果要检查空白,可以使用IsNullOrWhiteSpace代替IsNullOrEmpty
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.