在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 = "";
还是别的什么?
当前回答
字符串。空和字符串。空的是等价的。String是BCL类名;字符串是它的c#别名(或快捷方式,如果你愿意)。与Int32和int相同。更多示例请参见文档。
至于“”,我不太确定。
就我个人而言,我总是使用string.Empty。
其他回答
编译器应该让它们在长期运行时都是一样的。选择一个标准,这样你的代码就容易阅读,并坚持下去。
前两种我都可以接受。我将避免使用最后一种方法,因为在引号之间加空格很容易引入错误。这种特殊的缺陷很难通过观察发现。假设没有错别字,所有这些在语义上都是等价的。
(编辑)
另外,为了保持一致性,你可能总是想使用string或string,但这只是我的想法。
如果你想恶作剧某人,在他们的代码中加入“”。这不是空字符串,它是“\u200D”。你不能用string.Empty欺骗别人。
我本来不想插嘴的,但我发现这里有一些错误的信息。
我个人更喜欢字符串。这是个人喜好,我会根据具体情况服从与我合作的任何团队的意愿。
正如其他人所提到的,字符串和字符串之间根本没有区别。Empty和String.Empty。
此外,这是一个鲜为人知的事实,使用“”是完全可以接受的。在其他环境中,“”的每个实例都将创建一个对象。然而,. net会实习它的字符串,因此未来的实例将从实习池中提取相同的不可变字符串,任何性能损失都可以忽略不计。来源:布拉德·艾布拉姆斯。
我喜欢用绳子。空字符串。空的,因为你可以使用它而不需要包含一个using System;在你的档案里。
至于在字符串上选择“”。空,这是个人喜好,应该由你的团队决定。