Sebagai jawaban tambahan (atau untuk menambah jawaban yang ada) Anda bisa menulis metode ekstensi untuk mencapai ini untuk Anda dalam kelas DirectoryInfo. Berikut adalah contoh yang saya tulis dengan cukup cepat yang dapat diperindah untuk memberikan nama direktori atau kriteria lain untuk modifikasi, dll:
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>();
}
}
}
Sunting: Saya juga berpikir metode ini mungkin bisa disederhanakan atau dikejutkan jika menggunakan LINQ untuk mencapai konstruksi array, tapi saya tidak punya pengalaman dalam LINQ untuk melakukannya dengan cukup cepat untuk sampel semacam ini.
Sunting 2 (hampir 4 tahun kemudian): Ini adalah metode LINQ-ified yang akan saya gunakan:
public static class myExtensions
{
public static IEnumerable<string> GetFileNamesWithoutExtensions(this DirectoryInfo di)
{
return di.GetFiles()
.Select(x => Path.GetFileNameWithoutExtension(x.FullName));
}
}