LINQ嵌套實戰(zhàn)案例分析
作者:dotnetworker
LINQ嵌套實戰(zhàn)案例分析向你主要介紹了我們在學(xué)習(xí)LINQ嵌套的過程中有一個真實的例子,我們將會看到具體的問題所在,盡管是些細節(jié),但是細節(jié)卻影響了真?zhèn)€實例的結(jié)果,那本文就向你介紹詳細的內(nèi)容。
對于LINQ的初學(xué)者我們經(jīng)常會遇到書寫細節(jié)上的錯誤,那么就像LINQ嵌套的實際操作過程中,我們可能會出現(xiàn)輸出的結(jié)果不是我們想要的,那么對于LINQ的使用要注意什么細節(jié)呢?讓我們看看一個例子。
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 = "***權(quán)限" },
- new
- {PKId="002",depict="管理員"},
- new
- {PKId="003",depict="發(fā)布信息"},
- new
- {PKId="004",depict="只有瀏覽權(quán)限"}
- };
- 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]]
關(guān)于LINQ嵌套問題的分析:
看到?jīng)]?Name的值是個其名IEnumerator.
正確的LINQ嵌套寫法應(yīng)該是:
- var data =
- from word2 in groups
- where word2.depict == &
LINQ嵌套的實戰(zhàn)分析就向你介紹到這里,希望對你了解和學(xué)習(xí)LINQ嵌套有所幫助。
【編輯推薦】
責(zé)任編輯:仲衡
來源:
itpub.net