比较两个字符串列表的元素顺序

tor*_*gua 0 .net c# linq comparison

我有第一个字符串列表:

"GENRE",
"NATIONALITY",
"PRODUCTION",
"FIRSTYEAR",
"LASTYEAR",
"FILTER"
Run Code Online (Sandbox Code Playgroud)

我有第二个字符串列表:

"NATIONALITY"
"LASTYEAR"
"FILTER"
Run Code Online (Sandbox Code Playgroud)

我想检查第二个列表中的元素(即使缺少某个元素)是否与第一个列表的顺序相同.

示例:

"NATIONALITY"
"LASTYEAR"
"FILTER"
Run Code Online (Sandbox Code Playgroud)

必须返回TRUE和

"LASTYEAR"
"NATIONALITY"
"FILTER"
Run Code Online (Sandbox Code Playgroud)

必须返回FALSE,因为"NATIONALITY"必须在"LASTYEAR"之前相应于第一个列表

我试图获得每个元素的"IndexOf"索引,但我不知道如何有效地比较它们.

在这种情况下使用Custom Comparer(实现IComparer)是一个很好的解决方案吗?如果有,怎么样?使用Enum实现这种比较是否更好?

需要帮助提前感谢

Sel*_*enç 5

您可以使用Intersect获取列表之间的交集,然后使用SequenceEqual方法检查该序列是否与以下内容相同list2:

list1.Intersect(list2).SequenceEqual(list2);
Run Code Online (Sandbox Code Playgroud)