1

在 foreach 循环中声明一个对象可以吗?我的 main 方法有一个 for 循环,该循环调用 method1 也有一个 for 循环。我只想更改同一个对象的 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());
}
4

3 回答 3

3

如果这是您的意图,则可以在循环内声明一个对象。在这种情况下,循环的每次迭代都会创建一个新的GetFile.

您可以将声明移到循环外以重用相同的对象:

GetFile gf = new GetFile();
foreach(string arr in arrs)
{
    gf.setFileFolder(arr);
    Console.WriteLine(gf.getFileFolder());
}
于 2012-09-13T01:29:21.137 回答
2

是的,这是一件常见且正常的事情。

唯一的问题是如果new GetFile()操作缓慢。然后你会想要在循环之外声明它以提高性能。

于 2012-09-13T01:28:50.997 回答
0

您不需要实例化 GetFile X 次。

我当然会工作,但它不干净

于 2012-09-13T01:29:07.090 回答