欢迎光临

木子屋

标题: C#使用LINQ查找同名文件示例

作者: dnawo

日期: 2011-08-16 05:54 PM

分类: Win编程

内容: 1.文件结构
引用内容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)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.824 ms

返回

标题: C#使用LINQ查找同名文件示例

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.824 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.871 ms

返回