LINQ嵌套實戰案例分析
作者:dotnetworker
LINQ嵌套實戰案例分析向你主要介紹了我們在學習LINQ嵌套的過程中有一個真實的例子,我們將會看到具體的問題所在,盡管是些細節,但是細節卻影響了真個實例的結果,那本文就向你介紹詳細的內容。
對于LINQ的初學者我們經常會遇到書寫細節上的錯誤,那么就像LINQ嵌套的實際操作過程中,我們可能會出現輸出的結果不是我們想要的,那么對于LINQ的使用要注意什么細節呢?讓我們看看一個例子。
LINQ嵌套的實例:
- using System;
- using System.Linq;
- class P
- {
- static void Main()
- {
- var customer = new[]{new
- {PKId="001",Name="admin",Pwd="123456",Group="001"},
- new
- {PKId="002",Name="user",Pwd="user",Group="003"},
- new
- {PKId="003",Name="geust",Pwd="guest",Group="004"},
- new
- {PKId="004",Name="aa",Pwd="123456",Group="002"},
- new
- {PKId="005",Name="bb",Pwd="123456",Group="002"},
- new
- {PKId="006",Name="cc",Pwd="123456",Group="002"},
- };
- var groups = new[] { new { PKId = "001",
- depict = "***權限" },
- new
- {PKId="002",depict="管理員"},
- new
- {PKId="003",depict="發布信息"},
- new
- {PKId="004",depict="只有瀏覽權限"}
- };
- var data =
- from word2 in groups
- where word2.depict == "管理員"
- //LINQ嵌套的問題所在
- select new {
- quanxian = word2.depict,
- Name =
- from word in customer
- where word.Group==word.PKId
- select word
- };
- var first = data.First();
- Console.WriteLine("{0}, {1}",
- first.quanxian, first.Name);
- }
- }
- //下面是輸出:
- 管理員, System.Linq.Enumerable+
- WhereArrayIterator`1[<>f__AnonymousType0`4[System
- .String,
- System.String,System.String,System.String]]
關于LINQ嵌套問題的分析:
看到沒?Name的值是個其名IEnumerator.
正確的LINQ嵌套寫法應該是:
- var data =
- from word2 in groups
- where word2.depict == &
LINQ嵌套的實戰分析就向你介紹到這里,希望對你了解和學習LINQ嵌套有所幫助。
【編輯推薦】
責任編輯:仲衡
來源:
itpub.net