在foreach循环中声明一个对象是否可以?我的main方法有一个for循环,它调用也有for循环的method1。我只想更改同一个对象的setFileFolder值,是否可以再次声明同一个对象然后更改它的值?
示例代码:
string[] arrs = { "a", "b", "c", "d", "e", "f", "g", "h", "i", };
foreach(string arr in arrs)
{
GetFile gf = new GetFile();
gf.setFileFolder(arr);
Console.WriteLine(gf.getFileFolder());
}
答案 0 :(得分:3)
如果这是你的意图,可以在循环中声明一个对象。在这种情况下,循环的每次迭代都将创建一个GetFile
的新实例。
您可以在循环外部移动声明以重用相同的对象:
GetFile gf = new GetFile();
foreach(string arr in arrs)
{
gf.setFileFolder(arr);
Console.WriteLine(gf.getFileFolder());
}
答案 1 :(得分:2)
是的,这是一件普通而且正常的事情。
唯一的问题是如果new GetFile()
是一个缓慢的操作。然后你想在循环之外声明它以提高性能。
答案 2 :(得分:0)
你不需要实例化GetFile X次。
我当然会工作,但它不干净