从多值列表中删除值

时间:2013-02-24 17:53:57

标签: c# list

好吧我已经设置了以下内容来启动列表中的数据:

public class OnlineList
{
    public string Username
    {
        get;
        set;
    }

    public int PID
    {
        get;
        set;
    }
}

我使用以下内容查看是否存在值:

bool nameCheck = OnlineList.Any(cus => cus.Username == username);
if (nameCheck)
{
}

我的问题是如何从列表中删除username = username?

3 个答案:

答案 0 :(得分:1)

如何使用 Remove 方法?

  

List<T>删除特定对象的第一个匹配项。

var match= OnlineList.Single (cus => cus.Username == nameToRemove);
OnlineList.Remove(match);

如果您需要删除要删除哪个用户名的所有用户名,您可能希望以相同的方式使用 RemoveAll 方法。

答案 1 :(得分:1)

您可以使用RemoveAll

来实现它
OnlineList.RemoveAll(x=>x.Username == username);

答案 2 :(得分:0)

(1)使用RemoveAll

OnlineList.RemoveAll (cus => cus.Username == username); // remove by condition

(2)使用LINQ,您可以使用Except

lst = OnlineList.Except(OnlineList.Where(cus => cus.Username == username)).ToList();