我今天早上正在使用一些C#代码,我有类似的东西:
foreach(DataRow row in MyMethod.GetDataTable().Rows) { //do something }
所以,由于我没有完全理解语言框架,我想知道每次迭代完成后是否调用GetDataTable(),或者只是调用一次并且结果数据(可能是Rows)保存在内存循环通过它.无论如何,我宣布了一个新的集合来保存它并从那里工作......
我添加了一个新变量,所以我做了:
DataRowCollection rowCollection = MyMethod.GetDataTable().Rows; foreach(DataRow row in rowCollection) { //do something }
但我不太确定这是否有必要.
提前致谢.
别担心; 它只会在内部执行一次GetDataTable()以从DataRowCollection中获取枚举器对象,然后在每次循环运行时从中获取一个新项.