这两个片段中哪一个使用更多内存?

4 c#

string Name = "";

for(int i; i < 10; i++)
{
    Name = NameList[i] + "what?";
    Console.WriteLine(Name);
}


//Or this one:

for(int i; i < 10; i++)
{
    string Name = NameList[i] + "what?";
    Console.WriteLine(Name);
}
Run Code Online (Sandbox Code Playgroud)

哪一个会少用内存?有人在这个问题的评论中问了这个,我不确定自己.谢谢!

C#中的变量范围

dtb*_*dtb 7

除了第一个片段中的初始分配外,两个片段都编译为相同的IL.

所需的内存是两个局部变量的内存,内存for NameList及其元素,以及10个字符串实例的内存,这些内存是通过将列表元素与字符串常量连接而产生的.字符串实例最终将由GC以通常的,不可预测的方式收集.局部变量的范围对此没有影响.