[英]How to search in 2D array by LINQ?
我有一個像這樣的二維數組 :
string[,] arr=
{
{"1","ali"},
{"2","mehdi"},
{"3","john"},
{"4","milad"},
};
我通過這樣的聲明第2列搜索名稱 :
string name="";
for (int i = 0; i < arr.GetUpperBound(0); i++)
{
if (arr[i, 1].StartsWith("m"))
{
name = arr[i, 1];
break;
}
}
Response.Write(name);
我想使用LINQ而不是for語句來獲取以'm'開頭的名字 。
如何將上述for語句轉換為 LINQ 。
var name = arr.Cast<string>()
.Where((x, i) => i % 2 == 1 && x.StartsWith("m"))
.First();
i % 2 == 1
將僅接受第二列中的項目,而x.StartWith("m")
將僅采用以'm'
開頭的名稱。
而且您必須在其他LINQ方法之前使用Cast<string>()
,因為多維數組不能實現泛型IEnumerable<T>
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.