如果string.Empty != null
为什么string.IsNullOrEmpty()
被创建?为什么string.IsNullOrEmpty()被创建?
我只想说:
如果null
和string.Empty
是彼此不同的。
- 为什么
string.IsNull();
和string.IsEmpty();
单独的方法不存在。 - 为什么组合方法
string.IsNullOrEmpty()
存在?
如果string.Empty != null
为什么string.IsNullOrEmpty()
被创建?为什么string.IsNullOrEmpty()被创建?
我只想说:
如果null
和string.Empty
是彼此不同的。
string.IsNull();
和string.IsEmpty();
单独的方法不存在。string.IsNullOrEmpty()
存在?string.IsNull
不存在,因为你只是检查null参考是string.IsEmpty
不存在,因为你可以很容易的平等“”或为0string.IsNullOrEmpty
存在,因为它更简单写一个方法调用不是使用
if (text == null || text.Length == 0)
(或倒数,当然)。
每个单独的检查都可以简单地自行完成,但将两者结合起来很方便。
aahhhh,我不知道为什么这些愚蠢的问题出现在我的脑海里... :(thanx @Jon为你的答案; –
不要忘了.NET 4增加了IsNullOrWhitespace,而且这个检查不止是单行代码 – Euphoric
但是什么时候需要这样的函数呢?我很少遇到想要遇到'null'和'''''同样的方式。遇到'null'通常意味着编程错误,并导致'ArgumentNullException'和''''可能是不好的用户输入,这需要完全不同的行为,即使它是一个bug它应该抛出像'ArgumentException'这样的问题 – CodesInChaos
它用于检查输入字符串是否有效。 (例如,不是空的而不是空的)。 所以你不想在每次你想确保这样做的时候同时做两次检查,所以这就是为什么它被制定的原因。 如果您想检查其中的一个,您可以使用== null
或== ""
进行比较。
因为检查字符串是否包含至少一个字符是最常见的事情之一,所以.NET开发人员给了我们很好的捷径。 –
我不喜欢我的格式:(任何人都可以为我重新格式化它... –
重新格式化到底是什么?看起来对我很好。 –