gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 00:46:11 24 4
gpt4 key购买 nike

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);
}

哪个会占用更少的内存?有人在这个问题的评论中问过这个问题,我自己也不确定。谢谢!

Scope of variables in C#

最佳答案

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

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

关于c# - 这两个片段中哪一个使用更多内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3979716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com