如何在dotnet中进行字符串比较?

gen*_*ser 0 c# string

我说了

var str1 = "Name1"; 
var str2 = "Name1";
Run Code Online (Sandbox Code Playgroud)

如果我这样做str1 == str2,输出将是真的(如预期的那样).

但我的问题是它是如何进行比较的...它是字符的特征还是如何?

那么string.Intern如何帮助改善性能呢?

Bri*_*sen 7

对于字符串,==比较字符串的值(请参阅此内容).但是,在这种情况下,由于字符串实习,引用将是相同的,因为默认情况下所有文字字符串都是实例化的.如果您查看实现,==您将看到它调用string.Equals,它首先进行参考比较.