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()但不知道如何使用可变数量的列表.
我很难找到我确信在那里的优雅解决方案.对此有任何帮助表示赞赏.
如果我理解你的意思,这样的事情可能有用
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)
更新
基本上采用变量列表列表,并假设您要检查每个列表的索引.