掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流
在向大家詳細介紹Linq查詢二維數組之前,首先讓大家了解下二維數組無法直接轉換為IEnumerable

創(chuàng)新互聯是一家集成都做網站、成都網站建設、網站頁面設計、網站優(yōu)化SEO優(yōu)化為一體的專業(yè)網站建設公司,已為成都等多地近百家企業(yè)提供網站建設服務。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設計最適合用戶的網站頁面。 合作只是第一步,服務才是根本,我們始終堅持講誠信,負責任的原則,為您進行細心、貼心、認真的服務,與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。
Linq查詢二維數組
以下代碼為在一個4*4的二維int數組中將大于5的元素查出:
- static void Main( string [] args)
- {
- int [,] array = new int [4, 4];
- for ( int i = 0; i < 4; i++)
- for ( int j = 0; j < 4; j++)
- array[i, j] = (i + 1) * (j + 1);
- var intQuery = from i in array.Cast< int >()
- where i > 5
- select i;
- foreach ( int i in intQuery)
- Console.WriteLine(i);
- }
由于二維數組無法直接轉換為IEnumerable
Enumerable. Cast< TResult > () 泛型方法 將 IEnumerable 的元素轉換為指定的類型。
此方法通過使用延遲執(zhí)行實現。即時返回值為一個對象,該對象存儲執(zhí)行操作所需的所有信息。只有通過直接調用對象的 GetEnumerator 方法或使用 Visual C# 中的 foreach (或 Visual Basic 中的 For Each )來枚舉該對象時,才執(zhí)行此方法表示的查詢。
Cast< TResult>() (IEnumerable) 方法通過提供必要的類型信息,可在非泛型集合上調用標準查詢運算符。例如,ArrayList 并不實現 IEnumerable< T> ( ) ,但通過調用 ArrayList 對象上的 Cast< TResult> ( ) (IEnumerable) ,就可以使用標準查詢運算符查詢該序列。
如果元素無法強制轉換為 TResult 類型,則此方法將引發(fā)異常。若要只獲取可以強制轉換為 TResult 類型的元素,請使用 OfType< TResult> () 方法,而不是 Cast< TResult> ( ) (IEnumerable) 。
在查詢表達式中,顯式類型迭代變量會轉換為 Cast< TResult> ( ) (IEnumerable) 的一個調用。以上介紹Linq查詢二維數組。
【編輯推薦】

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流