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

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

string willi = string.Empty;

or

string willi = String.Empty;

or

string willi = "";

还是别的什么?


当前回答

我使用“”,因为它将在我的代码中被明显地涂成黄色……字符串。在我的Visual Studio Code主题中,空是白色的。我相信这对我来说最重要。

其他回答

我没有什么区别。最后一个是打字最快的:)

I strongly prefer String.Empty, aside from the other reasons to ensure you know what it is and that you have not accidentally removed the contents, but primarily for internationalization. If I see a string in quotes then I always have to wonder whether that is new code and it should be put into a string table. So every time code gets changed/reviewed you need to look for "something in quotes" and yes you can filter out the empty strings but I tell people it is good practice to never put strings in quotes unless you know it won't get localized.

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

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

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

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

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

我本来不想插嘴的,但我发现这里有一些错误的信息。

我个人更喜欢字符串。这是个人喜好,我会根据具体情况服从与我合作的任何团队的意愿。

正如其他人所提到的,字符串和字符串之间根本没有区别。Empty和String.Empty。

此外,这是一个鲜为人知的事实,使用“”是完全可以接受的。在其他环境中,“”的每个实例都将创建一个对象。然而,. net会实习它的字符串,因此未来的实例将从实习池中提取相同的不可变字符串,任何性能损失都可以忽略不计。来源:布拉德·艾布拉姆斯。

我用的是第三个,但在其他两个中,第一个似乎没那么奇怪。 string是string的别名,但在赋值中看到它们会让人感觉不舒服。