我找到了这段代码,我想了解为什么开发人员使用带有 char 数组的字符串构造函数,而不仅仅是文字常量字符串:
static string atomLang = new String("lang".ToCharArray());
最佳答案
我能想到的唯一原因是避免引用 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
这并不会对您的代码产生任何实际影响(除了边际性能差异之外)。
关于c# - 为什么使用带有 char 数组的字符串构造函数作为常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11171774/