似乎创造了更多。请在这里建议为什么或如何正确实习。
谢谢
IList<string> list = new List<string>(10000);
for (int i = 0; i < 10000; i++)
{
for (int k = 0; k < 10; k++)
{
list.Add(string.Intern(k.ToString()));
}
}
Console.WriteLine("intern Done");
Console.ReadLine();
最佳答案
它会在循环过程中创建更多(每次迭代都会生成一个新字符串,然后用内部值替换),但是您的结果列表应该只有 10 个唯一引用内部字符串值。
完成后,实习表应包含 10 个字符串(用于 k 的值),以及“intern Done”和应用中的任何其他文字字符串。
关于c# - 字符串实习——这段代码应该只在内存中创建 10 个字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2502522/