将字符串初始化为“”或“”之间的区别。ToString()-应该使用哪一个?

时间:2019-10-18 12:01:18

标签: c#

如何在C#中初始化一个空字符串,为什么?哪个更快?

string myString = "";

string myString = "".ToString();

4 个答案:

答案 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更具可读性。与性能无关。