2010-10-13 27 views
1

我有,目前看起來像這樣一個lambda表達式:有條件的Lambda表達式?

item => Reports.Add(item) 

我想修改它,使得它是有條件的,而且基本上將檢查Reports.Contains(項目)返回false,然後執行Reports.Add (項目)行動。這是否可以在一行上使用lambda?

克里斯

回答

8
Action<ItemType> action = item => { if(!Reports.Contains(item)) Reports.Add(item);}; 

這應該做的,但它取決於你如何定義「一條線」,真的。

+0

他沒有說它必須相當可讀:) – 2010-10-13 19:21:03

+0

謝謝 - 完美的工作! – Chris 2010-10-13 19:21:38

5

替代Ani的建議:使報告成爲HashSet。

+0

同意。這聽起來像是可能需要不同的數據結構。 – 2010-10-13 19:25:37

0

你可以在你的lambda中用分號分隔多行。