今天早上我正在处理一些 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中获取枚举数对象,然后在每次循环运行时都从中获取一个新项。