相关疑难解决方法(0)

String.Empty和""(空字符串)有什么区别?

在.NET中,String.Empty和之间的区别是什么"",它们是可互换的,还是存在一些基本的参考或本地化问题,这些问题String.Empty将确保不是问题?

.net string double-quotes

278
推荐指数
11
解决办法
8万
查看次数

检查字符串内容?string Length Vs Empty String

哪个更有效的编译器和检查字符串是否为空的最佳实践?

  1. 检查字符串的长度是否== 0
  2. 检查字符串是否为空(strVar =="")

此外,答案是否取决于语言?

language-agnostic compiler-construction string optimization

14
推荐指数
2
解决办法
2万
查看次数

在C#中确定未修剪字符串是否为空的最有效方法是什么?

我有一个字符串,周围可能有空格字符,我想检查它是否基本上是空的.

有很多方法可以做到这一点:

1  if (myString.Trim().Length == 0)
2  if (myString.Trim() == "")
3  if (myString.Trim().Equals(""))
4  if (myString.Trim() == String.Empty)
5  if (myString.Trim().Equals(String.Empty))
Run Code Online (Sandbox Code Playgroud)

我知道这通常是过早优化的明显案例,但我很好奇,并且有可能做到这一点足以产生性能影响.

那么哪一个是最有效的方法呢?

有没有更好的方法我没想过?


编辑:此问题的访问者注意事项:

  1. 对这个问题进行了一些非常详细的调查 - 特别是来自Andy和Jon Skeet.

  2. 如果你在搜索某些内容时偶然发现了这个问题,那么至少阅读Andy和Jon的帖子是非常值得的.

似乎有一些非常有效的方法,有效的方法取决于我需要处理的字符串的内容.

如果我无法预测字符串(在我的情况下我不能预测),Jon的IsEmptyOrWhiteSpace方法似乎通常更快.

谢谢大家的意见.我将选择安迪的答案作为"正确"的答案仅仅是因为他应该为他所付出的努力赢得声誉,而乔恩已经拥有了十亿美元的声誉.

c# string optimization performance coding-style

14
推荐指数
2
解决办法
2202
查看次数

哪个更有效,"data.Length == 0"或"data == string.Empty"?

我想检查变量字符串是否data包含空字符串.

哪个更有效率,data.Length==0还是data==string.Empty

我忘了说,data已经检查过并且保证不会null.

c# string performance

4
推荐指数
2
解决办法
1598
查看次数