鉴于:

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/

10-13 06:43