C#ライブラリリファレンス - ディレクトリ(フォルダー)が持つファイルを取得
指定したディレクトリ(フォルダー)が持つファイルを容易に取得できます。
日常でたとえると
そのかばんの中に、どんな資料が入っているの?
使用に適した状況
ディレクトリ下のファイルに対して処理をしたい場合。
サンプル
/*
* ディレクトリが持つファイルを列挙する。
*
----------------------------------------------------*/
using System;
using System.IO;
using System.Linq;
class Sample
{
static void Main( )
{
//LINQで保持するファイルを取得。
DirectoryInfo directory = new DirectoryInfo( @"C:\" );
var files =
from d in directory.GetFiles()
select d;
Console.WriteLine( "{0}が持っているファイル一覧",
directory.Name );
foreach ( FileInfo file in files ) {
Console.WriteLine( file.Name );
}
Console.WriteLine();
//終了。
Console.ReadLine();
}
}
名前空間
DirectoryInfoクラスは、System.IO名前空間に属します。LINQプログラミングを行うために、System.Linq名前空間を参照するとよいでしょう。
解説
特定のディレクトリ(フォルダー)が保持しているファイルを取得したいことがよくあります。C#ではLINQプログラミングの力と相まって、直感的にわかりやすいプログラムでそれが可能となります。
具体的には、DirectoryInfoクラスのGetFilesメソッドを取得します。特定の条件を満たすファイルを取得したい時に修正が容易ですし、C#ではそれが普通の表現なので、LINQプログラミングを併用します。