如何在C#中初始化一个空字符串,为什么?哪个更快?
string myString = "";
或
string myString = "".ToString();
答案 0 :(得分:9)
String.ToString()仅返回字符串本身:
public override String ToString() {
Contract.Ensures(Contract.Result<String>() != null);
Contract.EndContractBlock();
return this;
}
这意味着string myString = "".ToString()
是毫无意义的。毕竟,它已经 一个字符串
实际上,鉴于字符串是不可变的,并且在这种情况下为interned,""
与String.Empty
返回的字符串实例相同
答案 1 :(得分:6)
第二个是多余的。它已经是string
。因此,第一个将是最佳选择。
答案 2 :(得分:2)
请使用第一个是最好的选择
string myString = "";
您还可以在C#中使用string.Empty
string myString = string.Empty;
第二个是没有意义的,因为“”已经是一个字符串,并且转换string(“”)。ToString()是没有意义的。
答案 3 :(得分:1)
您也可以使用
string.Empty
更具可读性。与性能无关。