在c#中,我想用空字符串初始化一个字符串值。

我该怎么做呢? 什么是正确的方法,为什么?

string willi = string.Empty;

or

string willi = String.Empty;

or

string willi = "";

还是别的什么?


当前回答

前两种我都可以接受。我将避免使用最后一种方法,因为在引号之间加空格很容易引入错误。这种特殊的缺陷很难通过观察发现。假设没有错别字,所有这些在语义上都是等价的。

(编辑)

另外,为了保持一致性,你可能总是想使用string或string,但这只是我的想法。

其他回答

我个人更喜欢“”,除非有很好的理由去做更复杂的事情。

字符串是System的同义词。字符串类型,它们是相同的。

值也是相同的:字符串。空==字符串。空== ""

我不会在代码中使用字符常量“”,而是字符串。空或字符串。空-更容易看到程序员的意思。

在字符串和字符串之间,我更喜欢小写字符串,因为我曾经使用Delphi很多年,Delphi风格是小写字符串。

所以,如果我是你的老板,你会写字符串。空

没关系,它们是完全一样的。 然而,最主要的事情是你必须始终如一

附注:我一直在这种“什么是正确的事情”的问题上挣扎。

我喜欢用绳子。空字符串。空的,因为你可以使用它而不需要包含一个using System;在你的档案里。

至于在字符串上选择“”。空,这是个人喜好,应该由你的团队决定。

http://blogs.msdn.com/b/brada/archive/2003/04/22/49997.aspx:

As David implies, there difference between String.Empty and "" are pretty small, but there is a difference. "" actually creates an object, it will likely be pulled out of the string intern pool, but still... while String.Empty creates no object... so if you are really looking for ultimately in memory efficiency, I suggest String.Empty. However, you should keep in mind the difference is so trival you will like never see it in your code... As for System.String.Empty or string.Empty or String.Empty... my care level is low ;-)