添加一个对象列表到list < list < objects >>如果不包含

本文关键字:list 如果不 包含 一个对象 objects 添加 列表 | 更新日期: 2023-09-27 18:10:54

我有List<List<Vertex>>, Vertex有一个属性id。我需要将List<Vertex>>添加到这个列表中,但不是重复的列表。

 public void AddComponent(List<Vertex> list)
{
    List<List<Vertex>> components = new List<List<Vertex>>;
    //I need something like
      if (!components.Contain(list)) components.Add(list);
}

添加一个对象列表到list < list < objects >>如果不包含

您可以使用SequenceEqual -(这意味着顺序也必须相同):

if (!components.Any(l => l.SequenceEqual(list))) 
    components.Add(list);

你可以这样做:

public void AddComponent(List<Vertex> list)
{
    var isInList = components.Any(componentList =>
    {
        // Check for equality
        if (componentList.Count != list.Count)
            return false;
        for (var i = 0; i < componentList.Count; i++) {
            if (componentList[i] != list[i])
                return false;
        }
        return true;
    });
    if (!isInList)
        components.Add(list);
}