Neo*_*Neo 5 c# linq linq-to-sql
我试过跟随.
MyList.RemoveAll(t => t.Name == "ABS");
MyList.RemoveAll(t => t.Name == "XYZ");
MyList.RemoveAll(t => t.Name == "APO");
Run Code Online (Sandbox Code Playgroud)
相反,我该怎么做:
MyList.RemoveAll(t => t.Name == "ABS" || t => t.Name == "XYZ" ||t => t.Name == "APO");
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 18
你只需要一个 lambda表达式 - ||其中包括:
MyList.RemoveAll(t => t.Name == "ABS" || t.Name == "XYZ" || t.Name == "APO");
Run Code Online (Sandbox Code Playgroud)
换句话说,"给定a t,我想删除元素,如果t.Name是ABS,或者如果t.Name是XYZ,或者是否t.Name是APO."
那里只有一个"给定的t",这t =>部分就是有效的.
Mik*_*keW 13
一种更加可靠的方法是获得一个列表,然后删除什么
List<T> toRemove = ...
MyList.RemoveAll(t => toRemove.Contains(t.Name));
Run Code Online (Sandbox Code Playgroud)
其中T是示例中的字符串
要么
var nameToRemove = new[]{"ABS", "XYZ", "APO"};
MyList.RemoveAll(t => nameToRemove.Contains(t.Name))
Run Code Online (Sandbox Code Playgroud)