Vin*_*oni 0 c# reflection collections dynamic
如何获取Enumerable.Except()返回的动态对象的元素数量?
看:
dynamic itensToRemove = Enumerable.Except(currentCollection, newCollection);
dynamic itensToAdd = Enumerable.Except(newCollection, currentCollection);
Run Code Online (Sandbox Code Playgroud)
当我尝试这样做:
for (int i = 0; i < itensToRemove.Count(); i++)
Run Code Online (Sandbox Code Playgroud)
我得到了运行时错误'对象不包含Count的定义',所以,我怎么能得到元素的数量?
dynamic
不解析扩展方法,这就是你明确接到调用的原因Enumerable.Except
.做同样的事情Count
:
// You don't want to do this on every iteration!
int count = Enumerables.Count(itemsToRemove);
for (int i = 0; i < count; i++)
Run Code Online (Sandbox Code Playgroud)
目前尚不清楚为什么你想在for
循环中使用它 - 在foreach
循环中使用它更为正常.您可能还需要考虑使用ToList
以确保一次评估查询:
dynamic itemsToRemoveList = Enumerable.ToList(itemsToRemove);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1664 次 |
最近记录: |