& # 39;如果# 39;指令在List.ForEach()中

本文关键字:ForEach 指令 如果 List | 更新日期: 2023-09-27 18:17:41

我知道在SO的lambda语句中有很多关于"if"的问题。对不起,如果是重复的,但我真的找不到答案。

我有这个代码,它工作得很好

    foreach (Pair<Myclass, int> A in myList) //mylist is List<Pair<Myclass, int>>
        if (A.second <= _width)
            verified.Add(A);

是否可以将其替换为myList.ForEach() ?

I have try:

myList.ForEach(A => if (A.second < _width) verified.Add(A));

myList.ForEach(A => f.second < _width ? verified.Add(A):do_nothing());

但是它不起作用。每次当我尝试添加"if"时,总会出错。

& # 39;如果# 39;指令在List.ForEach()中

使用Where代替:

var verified = myList.Where(item => item.second <= _width).ToList();

试试这个:

myList.ForEach(A => { if (A.second < _width) verified.Add(A); });

除单个语句外,任何语句都需要花括号