how to remove from list using Lambda syntax

前端 未结 2 1153
刺人心
刺人心 2021-02-12 10:11

Given:

List names = new List(); //list full of names

public void RemoveName(string name) {
   List n = names.Where(x => x         


        
2条回答
  •  谎友^
    谎友^ (楼主)
    2021-02-12 10:15

    names.RemoveAll(x => x.UserName == name);
    

    Note here that all the lambda syntax does is provide a Predicate; lambda syntax is entirely unrelated to what it ends up doing with the lambda.

    Or for a single match (see comments):

    var found = names.Find(x => x.UserName == name);
    if(found != null) names.Remove(found);
    

    or:

    var index = names.FindIndex(x => x.UserName == name);
    if(index >= 0) names.RemoveAt(index);
    

提交回复
热议问题