簡體   English   中英

在C#中的數組列表中查找數組的索引

[英]Find index of an array in List of arrays in C#

如果您有一個數組列表,如:

List<int[]> ListOfArrays = new List<int[]>();
ListOfArrays.Add(new int[] { 1, 1 });
ListOfArrays.Add(new int[] { 2, 1 });

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

我不想使用迭代循環。 我想要一個簡潔的方法,如PaRiMaL RaJ在Check中建議的方法是否字符串數組存在於字符串列表中

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 });
ListOfArrays.Add(new int[] { 2, 1 });

int index = ListOfArrays.FindIndex(l => Enumerable.SequenceEqual(myArr, l));

您可以使用SequenceEqual方法。 請參閱MSDN: https//msdn.microsoft.com/en-us/library/vstudio/bb348567(v = vs.100) .aspx

你可以試試這個:

List<int[]> ListOfArrays = new List<int[]>();
ListOfArrays.Add(new int[] { 1, 1 });
ListOfArrays.Add(new int[] { 2, 1 });
var chk = ListOfArrays.FindIndex(e => (e.SequenceEqual(new int[] { 2, 1 })));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM