【问题标题】:c# optimize returning a empty string [duplicate]c#优化返回一个空字符串[重复]
【发布时间】:2011-04-01 21:01:34
【问题描述】:

可能重复:
In C#, should I use string.Empty or String.Empty or “” ?

是不是更好

return string.Empty;

而不是

return "";

你怎么看?

【问题讨论】:

    标签: c# string return


    【解决方案1】:

    编译后两者完全相同。我发现string.Empty 更具可读性。据我们所知,"" 确实应该在其中包含一些内容,但这只是一个错字。

    【讨论】:

    • 另外,当你真正的意思是空字符串“”时,很难发现像“'”这样的错字。
    【解决方案2】:

    根据this MSDN blog poststring.Empty更高效,因为它不会产生新对象。

    Here 是更多信息,包括简短的性能比较。

    【讨论】:

    • 是的,但它是 .NET 2.0 之前的版本:stackoverflow.com/questions/151472/… ;-)
    • 博文不正确。字符串文字仅在程序集加载时创建一次(就像 String.Empty 属性的字符串对象一样),执行使用字符串文字的代码不会创建对象。
    【解决方案3】:

    一旦编译器完成了该代码,两个片段的 IL/机器代码将是相同的。

    当空字符串是算法的重要部分时,我倾向于使用string.Empty。我倾向于将"" 用于可能是任何值的值,但现在它恰好是一个空字符串。换句话说,使用传达表达意图的那个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-13
      • 1970-01-01
      • 1970-01-01
      • 2018-09-27
      • 1970-01-01
      • 2020-08-27
      • 2013-08-03
      • 2014-05-23
      相关资源
      最近更新 更多