我有一个这样的清单:
List<string[]> countryList
并且字符串数组的每个元素是另一个包含3个元素的数组。
所以countryList[0]
可能包含数组:
new string[3] { "GB", "United Kingdom", "United Kingdom" };
如何在countryList
搜索特定数组,例如如何搜索countryList
new string[3] { "GB", "United Kingdom", "United Kingdom" }?
答案 0 :(得分:10)
return countryList.FirstOrDefault(array => array.SequenceEqual(arrayToCompare));
要简单地建立存在,请使用countryList.Any
。
要查找元素的索引或-1(如果不存在),请使用countryList.FindIndex
。
答案 1 :(得分:1)
// this returns the index for the matched array, if no suitable array found, return -1
public static intFindIndex(List<string[]> allString, string[] string)
{
return allString.FindIndex(pt=>IsStringEqual(pt, string));
}
private static bool IsStringEqual(string[] str1, string[] str2)
{
if(str1.Length!=str2.Length)
return false;
// do element by element comparison here
for(int i=0; i< str1.Length; i++)
{
if(str1[i]!=str2[i])
return false;
}
return true;
}