Я хочу группировать папки в зависимости от их имен. Я не хочу переместить их в отдельные папки или изменить что-либо в каталоге. Просто для более чистого отображения я хочу сгруппировать их в две папки. Имена папок как альфа и числовые.Групповые папки по именам в алфавитном или цифровом
В настоящее время мой код извлекает все имена папок и их размер вместе с общим размером. Поэтому функциональность остается тем же, но вместо того, чтобы перечислить все папки, я хочу, чтобы сгруппировать то и показать что-то вроде this-
Total size: xx.xx MB
Name: Alpa
Size: xx.xx MB
Name: Numb
Size: xx.xx MB
Я был бы признателен за ваши предложения о внесении этого кода более лучше.
Ниже приведен код, который я использую.
static void Main(string[] args)
{
DirectoryInfo dir = new DirectoryInfo(@"D\temp");
long sizeOnDisk = DiskSize(dir, true);
Console.WriteLine("Total Size: " + "{0:N2} MB", ((double)sizeOnDisk)/(1024 * 1024));
foreach (DirectoryInfo folder in dir.EnumerateDirectories())
{
long sizeOfFolder = DiskSize(folder, true);
Console.WriteLine("Name: " + "{0}", folder.Name);
Console.WriteLine("Size: " + "{0:N2} MB", ((double)sizeOfFolder)/(1024 * 1024));
}
Console.ReadLine();
}
static long DiskSize(DirectoryInfo dir, bool includeSubDir)
{
long totalSize = dir.EnumerateFiles()
.Sum(file => file.Length);
if (includeSubDir)
{
totalSize += dir.EnumerateDirectories()
.Sum(dirt => DiskSize(dirt, true));
}
return totalSize;
}
Вы действительно не задали вопрос здесь. –
Я, может быть, мой способ спросить не был прав. В принципе, мне нужен совет о том, как сделать код лучше, лучше всего. –
Вопросы «Лучшая практика» являются оффтопическими для stackoverflow. –