我有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);
}
答案 0 :(得分:1)
您可以使用SequenceEqual - (这意味着顺序也必须相同):
if (!components.Any(l => l.SequenceEqual(list)))
components.Add(list);
答案 1 :(得分: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);
}