我试图理解字符串实习,为什么在我的例子中似乎不起作用。该示例的重点是显示示例 1 使用较少(少得多的内存),因为它在内存中应该只有 10 个字符串。但是,在下面的代码中,两个示例都使用大致相同的内存量(虚拟大小和工作集)。
请告知为什么示例 1 没有使用更少的内存?谢谢
示例 1:
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();
示例 2:
IList<string> list = new List<string>(10000);
for (int i = 0; i < 10000; i++)
{
for (int k = 0; k < 10; k++)
{
list.Add(k.ToString());
}
}
Console.WriteLine("intern Done");
Console.ReadLine();