2011-03-21 23 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

相关问题