鉴于:
List<Name> names = new List<Name>(); //list full of names
public void RemoveName(string name) {
List<Name> n = names.Where(x => x.UserName == name);;
names.Remove(n);
}
执行删除操作的Lambda语法是什么?
如果函数删除了或没有删除,我如何获得“成功”的指示?
最佳答案
names.RemoveAll(x => x.UserName == name);
请注意,这里所有的lambda语法都提供了
Predicate<T>
; lambda语法与最终使用lambda所做的事情完全无关。或单场比赛(请参阅评论):
var found = names.Find(x => x.UserName == name);
if(found != null) names.Remove(found);
或者:
var index = names.FindIndex(x => x.UserName == name);
if(index >= 0) names.RemoveAt(index);
关于c# - 如何使用Lambda语法从列表中删除,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14358372/