C# · 12月 26, 2021

在C#中的数组列表中查找数组的索引

如果您有一个数组列表,如: List<int[]> ListOfArrays = new List<int[]>();ListOfArrays.Add(new int[] { 1,1 });ListOfArrays.Add(new int[] { 2,1 });

您如何在列表中找到{2,1}的索引?

我不想使用迭代循环.我想要一个简洁的方法,如PaRiMaL RaJ在Check if string array exists in list of string中提出的方法:

list.Select(ar2 => arr.All(ar2.Contains)).FirstOrDefault();

(如果给定字符串数组的成员存在于字符串数组列表中,则上面的代码将返回true)

解决方法 var myArr = new int[] { 2,1 };List<int[]> ListOfArrays = new List<int[]>();ListOfArrays.Add(new int[] { 1,1 });ListOfArrays.Add(new int[] { 4,1 });ListOfArrays.Add(new int[] { 1,1 });int index = ListOfArrays.FindIndex(l => Enumerable.SequenceEqual(myArr,l));