当前位置:  开发笔记 > 编程语言 > 正文

在C#中的foreach语句中,每次迭代都会调用返回集合的方法吗?

如何解决《在C#中的foreach语句中,每次迭代都会调用返回集合的方法吗?》经验,为你挑选了1个好方法。

我今天早上正在使用一些C#代码,我有类似的东西:

foreach(DataRow row in MyMethod.GetDataTable().Rows) {
//do something
}

所以,由于我没有完全理解语言框架,我想知道每次迭代完成后是否调用GetDataTable(),或者只是调用一次并且结果数据(可能是Rows)保存在内存循环通过它.无论如何,我宣布了一个新的集合来保存它并从那里工作......

我添加了一个新变量,所以我做了:

DataRowCollection rowCollection = MyMethod.GetDataTable().Rows;
foreach(DataRow row in rowCollection) {
//do something
}

但我不太确定这是否有必要.

提前致谢.



1> mqp..:

别担心; 它只会在内部执行一次GetDataTable()以从DataRowCollection中获取枚举器对象,然后在每次循环运行时从中获取一个新项.

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有