【发布时间】:2015-10-31 12:10:55
【问题描述】:
如果你有一个数组列表,例如:
List<int[]> ListOfArrays = new List<int[]>();
ListOfArrays.Add(new int[] { 1, 1 });
ListOfArrays.Add(new int[] { 2, 1 });
如何在 List 中找到 { 2, 1} 的索引?
我不想使用迭代循环。我想要一种简洁的方法,就像 PaRiMaL RaJ 在Check if string array exists in list of string 中建议的方法:
list.Select(ar2 => arr.All(ar2.Contains)).FirstOrDefault();
(如果给定字符串数组的成员存在于字符串数组列表中,上述代码将返回true)
【问题讨论】:
-
避免迭代循环的唯一方法是字典和哈希查找表。
-
@xXliolauXx 通过迭代,我认为他的意思是 LINQ 而不是手写循环。
-
内部数组的顺序重要吗?
-
@Yuval 啊我明白了...我认为这是他想要保持高的性能...我也想到了 LinQ 使用循环...