2012-07-18 25 views
1

我很好奇如何写这个,如果可能的话,作为lambda表达式。如何为此循环编写Lambda表达式?

For (int i = 0; i < MyList.Count; i++) 
{ 
    MyMethod(MyList[i].Id, MyList[i].Value); 
} 

public void MyMethod(string id, string value) 
{ 
    // do kung-fu 
} 

我见过如何使用lambda表达式来调用对象的方法,但是我找不到这样做的方法。

我意识到一个循环工作得很好。我只是想知道它是否可以完成以及如何完成。

回答

7

我不会用一个lambda表达式 - 但我使用foreach循环:

foreach (var item in MyList) 
{ 
    MyMethod(item.Id, item.Value); 
} 

如果你真的使用你可以写:

MyList.ForEach(item => MyMethod(item.Id, item.Value)); 

...但我不会。

+0

我只是好奇它会怎么做比什么都重要。现在,我要看看foreach和为了刷新我的记忆。 =)谢谢! – Yatrix 2012-07-18 15:22:24

+0

使用foreach循环与lambda版本有什么区别/优势? – Yatrix 2012-07-18 15:24:56