在给定LINQ查询的情况下,如何填充具有两列的listView?

时间:2012-08-20 16:23:58

标签: c# linq listview

我有一个包含文件的文件夹(此文件夹中的文件数量可能会有所不同):

XXX_1.jpg
XXX_2.jpg
ZZZ_1.jpg
ZZZ_2.jpg
BBB_1.jpg
YYY_1.jpg

我想填充一个包含两列的listView:Name&计数。

在此示例中,listView应如下所示:

XXX 2
ZZZ 2
BBB 1
YYY 1

我如何构建一个LINQ查询来分隔名称&从文件夹中的项目开始计算,然后使用文件名称填充listView +目录中的多少次?

这是我开始的方式:

IEnumerable<string[]> groups = originalFiles
                                .GroupBy(policyName => policyName.Split('_')[0])
                                .Select(g => g.ToArray());

                foreach (var group in groups)
                {
                    //add group name + count in listView
                }

我需要在那里添加Count(),但我不太确定。

1 个答案:

答案 0 :(得分:4)

试试这个

var groups = orignalFiles.GroupBy(o => o.Split('_')[0])
                       .Select(o => new { 
                                           Name = o.FirstOrDefault().Split('_')[0], 
                                           Total = o.Count() 
                                        });

祝你好运!!