与えられた:
object literal1 = "abc";
object literal2 = "abc";
object copiedVariable = string.Copy((string)literal1);
if (literal1 == literal2)
Console.WriteLine("objects are equal because of interning");//Are equal
if(literal1 == copiedVariable)
Console.WriteLine("copy is equal");
else
Console.WriteLine("copy not eq");//NOT equal
これらの結果はcopiedVariable
、文字列インターンの対象ではないことを意味します。なんで?
インターンされていない同等の文字列を使用すると便利な状況はありますか、それともこの動作は言語の詳細によるものですか?