gpt4 book ai didi

c# - 为什么建议检查字符串长度以确定是否为空?

转载 作者:太空狗 更新时间:2023-10-30 00:21:15 25 4
gpt4 key购买 nike

通常,人们说最好说 s.Length == 0 而不是 s == ""。但似乎这将是一个微优化,也会使其更难阅读。此外,与后者相比,前者最多可节省 60 毫秒。

是否有我遗漏的原因,例如 s.Length == 0 是否实际上更好地传达了意图?还是通常需要比较多个字符串是否为空?

编辑:我知道 IsNullOrEmpty,但是当人们回答这个问题时,他们经常提到长度检查比与空字符串进行比较要好。

EDIT2:没有询问执行此操作的最佳方法,对于这两种情况都是 IsNullOrEmpty,但我想问的是为什么不可忽略的少数人坚持认为长度检查更优越。我假设他们有充分的理由这么说,并且想知道它们是什么。

EDIT3:如开头所述,我确实知道一个比另一个快。问题是,这是人们推荐它的原因吗?一些时间显示这并没有导致显着差异。

最佳答案

你是对的,它本质上是一个微优化。测试长度确实使 FxCop/代码分析保持安静 - 理由是性能,如 documented in MSDN .

至于哪个更具可读性,这是主观的,我相信任何开发人员都会理解。由于它们在语义上不同(如果 s 为 null,s.Length == 0 会抛出异常,而 s == "" 则不会),可读性不是唯一的标准考虑。

在您不确定字符串不为空的情况下,String.IsNullOrEmptyString.IsNullOrWhiteSpace 可能更具可读性(即表达您的意图) .

关于c# - 为什么建议检查字符串长度以确定是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6376239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com