在c#中,我想用空字符串初始化一个字符串值。
我该怎么做呢? 什么是正确的方法,为什么?
string willi = string.Empty;
or
string willi = String.Empty;
or
string willi = "";
还是别的什么?
在c#中,我想用空字符串初始化一个字符串值。
我该怎么做呢? 什么是正确的方法,为什么?
string willi = string.Empty;
or
string willi = String.Empty;
or
string willi = "";
还是别的什么?
当前回答
字符串是System的同义词。字符串类型,它们是相同的。
值也是相同的:字符串。空==字符串。空== ""
我不会在代码中使用字符常量“”,而是字符串。空或字符串。空-更容易看到程序员的意思。
在字符串和字符串之间,我更喜欢小写字符串,因为我曾经使用Delphi很多年,Delphi风格是小写字符串。
所以,如果我是你的老板,你会写字符串。空
其他回答
前两种我都可以接受。我将避免使用最后一种方法,因为在引号之间加空格很容易引入错误。这种特殊的缺陷很难通过观察发现。假设没有错别字,所有这些在语义上都是等价的。
(编辑)
另外,为了保持一致性,你可能总是想使用string或string,但这只是我的想法。
我本来不想插嘴的,但我发现这里有一些错误的信息。
我个人更喜欢字符串。这是个人喜好,我会根据具体情况服从与我合作的任何团队的意愿。
正如其他人所提到的,字符串和字符串之间根本没有区别。Empty和String.Empty。
此外,这是一个鲜为人知的事实,使用“”是完全可以接受的。在其他环境中,“”的每个实例都将创建一个对象。然而,. net会实习它的字符串,因此未来的实例将从实习池中提取相同的不可变字符串,任何性能损失都可以忽略不计。来源:布拉德·艾布拉姆斯。
我用的是第三个,但在其他两个中,第一个似乎没那么奇怪。 string是string的别名,但在赋值中看到它们会让人感觉不舒服。
没有人提到在VisualStudio中字符串的颜色编码与字符串不同。这对可读性很重要。此外,小写通常用于变量和类型,不是什么大问题,而是字符串。Empty是常量,而不是变量或类型。
我没有什么区别。最后一个是打字最快的:)