在foreach的声明中调用方法

时间:2014-01-29 13:48:59

标签: c# foreach

我有一个foreach,它调用一个方法来获取它的集合。

 foreach(var item in GetItemDetails(item))
 {
 }

Visual Studio并没有抱怨这一点,Resharper也没有,在我继续使用这种方法之前,我想伸出手来检查它是否是推荐的方法。

2 个答案:

答案 0 :(得分:11)

这没什么不对。该方法只会被评估一次。

基本上是:

using(var iter = GetItemDetails(item).GetEnumerator())
{
    while(iter.MoveNext()
    {
        var item = iter.Current;
        // ...
    }
}

答案 1 :(得分:1)

它没有任何问题。

只有两个建议: