追加の回答として(または既存の回答を組み合わせるために)、DirectoryInfoクラス内でこれを実行する拡張メソッドを作成できます。これは私がかなり素早く書いたサンプルで、ディレクトリ名やその他の変更基準などを提供するために装飾することができます。
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace DocumentDistributor.Library
{
public static class myExtensions
{
public static string[] GetFileNamesWithoutFileExtensions(this DirectoryInfo di)
{
FileInfo[] fi = di.GetFiles();
List<string> returnValue = new List<string>();
for (int i = 0; i < fi.Length; i++)
{
returnValue.Add(Path.GetFileNameWithoutExtension(fi[i].FullName));
}
return returnValue.ToArray<string>();
}
}
}
編集:また、配列の構築を達成するためにLINQを使用した場合、このメソッドはおそらく簡略化または驚くほど改良できると思いますが、LINQでこの種のサンプルを十分に迅速に実行する経験はありません。
編集2(ほぼ4年後):これは私が使用するLINQ化された方法です。
public static class myExtensions
{
public static IEnumerable<string> GetFileNamesWithoutExtensions(this DirectoryInfo di)
{
return di.GetFiles()
.Select(x => Path.GetFileNameWithoutExtension(x.FullName));
}
}