1

我有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);
}
4

2 回答 2

1

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

if (!components.Any(l => l.SequenceEqual(list))) 
    components.Add(list);
于 2013-04-25T10:13:24.663 回答
0

您可以执行以下操作:

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);
}
于 2013-04-25T10:10:45.093 回答