C#中动态列表数的比较

Mas*_*zel 3 c# linq string-comparison

我有一个可变数量的List对象,我需要比较相同索引的值.列表中的条目数是给定的,并且不会改变.

例如:4列出每4个条目

所以我在这个例子中寻找的是4个bool,每个索引一个.获取不匹配条目的索引也没关系.

伪:

bool isFirstEqual = (list1[i] == list2[i] == list3[i] == list4[i]);
Run Code Online (Sandbox Code Playgroud)

但我需要以适用于可变数量列表的方式执行此操作.我可以有6个列表,但也有2个.

我想用LINQ做一些事情,.Except()但不知道如何使用可变数量的列表.

我很难找到我确信在那里的优雅解决方案.对此有任何帮助表示赞赏.

AAA*_*ddd 5

如果我理解你的意思,这样的事情可能有用

public static bool IsEqual<T>(int index, params List<T>[] ary)
{
   for (var i = 1; i < ary.Length; i++)
      if (!EqualityComparer<T>.Default.Equals(ary[0][index], ary[i][index]))
         return false;         

   return true;
}
Run Code Online (Sandbox Code Playgroud)

用法

var isSecondelemEqual = IsEqual(1, list1, list2, list3,...)
Run Code Online (Sandbox Code Playgroud)

更新

基本上采用变量列表列表,并假设您要检查每个列表的索引.