空值和空白值
编写健壮代码以便检查变量是否为 null 和空白的最佳方法是什么。
例如
string a;
if((a != null) && (a.Length() > 0))
{
//do some thing with a
}
What's the best way of writing robust code so that a variable can be checked for null and blank.
e.g.
string a;
if((a != null) && (a.Length() > 0))
{
//do some thing with a
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
对于字符串,有
For strings, there is
您可以定义一个扩展方法来允许您在许多事情上执行此操作:
正如已经指出的那样,它已经作为字符串的
System.String
类上的静态方法存在。You can define an extension method to allow you to do this on many things:
It already exists as a static method on the
System.String
class for strings, as has been pointed out.如果您使用 .NET 4.0,您可能需要查看 String.IsNullOrWhiteSpace。
And if you are using .NET 4.0 you might want to take a look at String.IsNullOrWhiteSpace.
从版本 2.0 开始,您可以使用 IsNullOrEmpty。
From version 2.0 you can use IsNullOrEmpty.
对于字符串:
对于特定类型,您可以创建扩展方法
请注意,我使用了 HasValue 而不是 IsNullorEmpty,因为如果您使用 IsNullOrEmpty,则 99% 的情况下您将不得不使用 ! 运算符,我发现这非常不可读
for strings:
for specific types you could create an extention method
note that i've used HasValue instead of IsNullorEmpty because 99% of the times you will have to use the !-operator if you use IsNullOrEmpty which I find quite unreadable
我发现 Apache Commons.Lang StringUtils (Java) 的命名要容易得多:isEmpty() 检查 null 或空字符串,isBlank() 检查 null、空字符串或仅空白。 isNullOrEmpty 可能更具描述性,但在大多数情况下,empty 和 null 是相同的东西。
I find Apache Commons.Lang StringUtils (Java)'s naming a lot easier: isEmpty() checks for null or empty string, isBlank() checks for null, empty string, or whitespace-only. isNullOrEmpty might be more descriptive, but empty and null is, in most cases you use it, the same thing.