2012-08-26 123 views
1

有人可以幫我添加下面代碼段中評論的if語句嗎?如何在LINQ語句中添加if語句

Dictionary<string,int> toReturn; 
List<string> lookup = GetIt(); 

foreach (string test in lookup) 
{ 
    var testDictionary = ToGroupDictionary(test); 
    testDictionary.Keys.ToList().ForEach(k => 
     //if(true){add toReturn list} 
    ); 
} 
+0

你會更好只使用一個'foreach'環 - ['.ForEach '實際上是一個棄用的構造](http://stackoverflow.com/questions/10299458/is-the-listt-foreach-extension-method-gone)。 –

回答

4

只需要添加花括號:

testDictionary.Keys.ToList().ForEach(k => 
{ 
    //if(true){add toReturn list} 
}); 
+1

謝謝Gabe,我很感激幫助。 – Rod

+0

@Rod,沒問題 – Gabe

3

或者添加Where條款

testDictionary 
    .Keys 
    .Where(k => conditional(k)) 
    .ForEach(k => { /* something else */ }); 
+1

「ForEach」除外 - 「IEnumerable 」不支持該擴展名。在這種情況下你確實需要'ToList'。 – Enigmativity

+0

*嘆*這就是爲什麼我們不經過仔細檢查就不能開口。注意,雖然這是有道理的(我知道有一個原因,我不是很熟悉'ForEach'擴展),這爲_why_提供了一個很好的理由 - 它不支持該方法 - http://blogs.msdn的.com/b/ericlippert /存檔/ 2009/05/18 /的foreach-VS-foreach.aspx –