2

ファイルのあるフォルダーがあります(このフォルダー内のファイルの数はさまざまです):

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

NameとCountの2つの列を持つlistViewにデータを入力したいと思います。

この例では、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()を追加する必要がありますが、よくわかりません。

4

1 に答える 1

4

これを試して

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

幸運を !!

于 2012-08-20T16:39:17.057 に答える