عنوان:

‫استفاده از LINQ جهت جستجوی فایل‌ها


نویسنده: وحید نصیری
تاریخ: ۱۳۸۸/۰۵/۳۰ ۲۱:۲۸:۰۰
آدرس: www.dntips.ir

یکی دیگر از کاربردهای anonymous types ، امکان استفاده از قابلیت‌های LINQ برای جستجوی فایل‌ها و پوشه‌ها است.
مثال:

using System;
using System.Linq;
using System.IO;

namespace LINQtoDir
{
class Program
{
static void Main(string[] args)
{
var query = from f in new DirectoryInfo(@"C:\Documents and Settings\vahid\My Documents\My Pictures")
.GetFiles("*.*", SearchOption.AllDirectories)
where f.Extension.ToLower() == ".png" || f.Extension.ToLower() == ".jpg"
orderby f.LastAccessTime
select new
{
DateLastModified = f.LastWriteTime,
Extension = f.Extension,
Size = f.Length,
FileName = f.Name
};

foreach (var file in query)
Console.WriteLine(file.FileName);

Console.WriteLine("Press a key...");
Console.ReadKey();
}
}
}

در این مثال توسط کوئری نوشته شده، تمامی تصاویر jpg و یا png موجود در پوشه my pictures یافت شده و سپس بر اساس LastAccessTime مرتب می‌شوند. در آخر با استفاده از anonymous types ، یک شیء IEnumerable از خواص مورد نظر فایل‌های یافت شده، بازگشت داده می‌شود. اکنون هر استفاده‌ی دلخواهی را می‌توان از این شیء انجام داد.