F:\test
├a
│└b.txt
├b.txt
└c.xls
2.C#代码
引用命名空间:
using System;
using System.IO;
using System.Linq;代码一:使用IEnumerable<TSource>.GroupBy<TSource, TKey>
DirectoryInfo dir = new DirectoryInfo(@"F:\test");
if (dir.Exists)
{
FileInfo[] files = dir.GetFiles("*.*", SearchOption.AllDirectories);
var query = from item in files.GroupBy(f => f.Name).Where(g => g.Count() > 1)
select new { Name = item.First().Name, Count = item.Count() };
foreach (var item in query)
Console.WriteLine("{0},{1}", item.Name, item.Count);
}代码二:使用group...by...into...
DirectoryInfo dir = new DirectoryInfo(@"F:\test");
if (dir.Exists)
{
FileInfo[] files = dir.GetFiles("*.*", SearchOption.AllDirectories);
var query = from item in files
group item by item.Name into g
where g.Count() > 1
select new { Name = g.First().Name, Count = g.Count() };
foreach (var item in query)
Console.WriteLine("{0},{1}", item.Name, item.Count);
}3.测试结果
b.txt,2
评论(0)
暂无评论。