为什么使用字符串构造函数与char数组的常量?

时间:2012-06-23 18:04:28

标签: c# .net

我找到了这段代码,我想了解为什么开发人员使用字符串构造函数和char数组而不仅仅是文字常量字符串:

static string atomLang = new String("lang".ToCharArray());

1 个答案:

答案 0 :(得分:5)

我能想到的唯一原因是避免引用字符串的interned instance

string str1 = "lang";
string str2 = "lang";
string str3 = new String("lang".ToCharArray());

Console.WriteLine(object.ReferenceEquals(str1, str2));   // Output: true
Console.WriteLine(object.ReferenceEquals(str1, str3));   // Output: false

这并不会对您的代码产生任何实际影响(除了边际性能差异)。