2011-03-21 48 views
-2

http://img51.imageshack.us/i/linqquestion.png/之後在LINQ中如何使用select得到嵌套值

一切都在圖片中。

我只想得到其中一個突出顯示的值,例如大小爲。從圖片

代碼:

 var queryGroupDuplicates = from dlc in listDLC 
            from song in dlc.songs 
            group dlc by song.shortname into duplicates 
            where duplicates.Count() > 1 
            select duplicates; 
     queryGroupDuplicates.Dump(); 
+3

請粘貼您的代碼作爲問題的一部分 - 這將幫助任何人試圖回答您的問題,而不必從頭開始輸入。 – BrokenGlass 2011-03-21 19:50:22

回答

0
var queryGroupDuplicates = from dlc in listDLC 
          from song in dlc.songs 
          group dlc by song.shortname into duplicates 
          where duplicates.Count() > 1 
          select new 
          { 
          duplicatName = duplicates.Key, 
          DLCfiles = from DLCfile in duplicates 
             select new {DLCfileName = DLCfile.fileName, packName = DLCfile.packName} 
          }; 

這段代碼產生什麼是在下面的圖片: http://img846.imageshack.us/i/linqanswer.png/

MSDN - 我看到這個以後有想法,但感謝你的快速響應反正。

1
queryGroupDuplicates.First().First().size 
+0

不錯,不知道我可以這樣做 – 2011-03-22 17:38:13

1

所以你只是想選擇組中的項目的任何一個這些領域?那麼你的照片會顯示組中的內容,所以選擇組中的一個項目並選擇你想要的字段(讓我們選擇第一個值)。

var queryGroupDuplicates = 
    from dlc in listDLC 
    from song in dlc.songs 
    group dlc by song.shortname into duplicates 
    where duplicates.Count() > 1 
    let someItem = duplicates.First() 
    select new 
    { 
     someItem.fileName, 
     someItem.gameID, 
     someItem.size, 
     someItem.errorsDLC, 
     someItem.packName, 
    }; 
+0

另一個很酷的想法,謝謝 – 2011-03-22 17:39:10