एक अतिरिक्त उत्तर के रूप में (या मौजूदा उत्तरों पर कंपाउंड करने के लिए) आप 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>();
}
}
}
संपादित करें: मुझे भी लगता है कि यह विधि शायद सरल या भयानक-ified हो सकती है यदि यह सरणी के निर्माण को प्राप्त करने के लिए LINQ का उपयोग करता है, लेकिन मुझे LINQ में इस तरह के नमूने के लिए जल्दी से पर्याप्त करने का अनुभव नहीं है।
2 संपादित करें (लगभग 4 साल बाद): यहाँ LINQ-ified विधि है जिसका मैं उपयोग करूंगा:
public static class myExtensions
{
public static IEnumerable<string> GetFileNamesWithoutExtensions(this DirectoryInfo di)
{
return di.GetFiles()
.Select(x => Path.GetFileNameWithoutExtension(x.FullName));
}
}