Форум программистов, компьютерный форум, киберфорум
LINQ
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
82 / 60 / 17
Регистрация: 21.08.2015
Сообщений: 1,075
1

Отделить файлы от папок в массиве FileSystemInfos

20.12.2016, 12:53. Показов 1520. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.IO;
using System.Linq;
 
class Program
{
    static void Main(string[] args)
    {
        string Main_Path = "C:\\test";
 
        DirectoryInfo aDir = new DirectoryInfo(Main_Path); 
 
        var FileSystemInfos = aDir.GetFileSystemInfos();
 
        var q = FileSystemInfos.Select(n => n.Attributes.ToString() == "Directory");
 
        Console.WriteLine();
        Console.ReadLine();
    }
}
Собственно вопрос вот в чем, результат запроса возвращает мне коллекцию IEnumerable<bool>, а хотелось бы отделить файлы от папок по атрибуту "Attributes" и получить все тот же массив FileSystemInfos [] только уже без информации о файлах.

Почему мой запрос возвращает мне не то что я хочу =) ?

Машинная программа выполняет то, что вы ей приказали делать,
а не то, что бы вы хотели, чтобы она делала.
Закон Грида.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2016, 12:53
Ответы с готовыми решениями:

Замена папок на исполняемые файлы со скрытием реальных папок
Добрый вечер, на старом компьютере появился вирус, который портит флешки. Все папки заменяются на...

Вывести все файлы + папки и файлы с папок
ребята дайте плз код если есть у кого-то который выведет все файлы папки и т.д. вот пример...

Как при чтении директории отделить файлы от поддиректорий ?
подскажите, плз, как при чтении директории opendir(DIR, './$dir') || die 'Can't open dir...

Файлы. Отделить пары координат x и y, и положить в массив структур
есть файл с координатами 1,0.2,3 (т.е вида float x,float y) - располагаются на каждой строке своя...

3
82 / 60 / 17
Регистрация: 21.08.2015
Сообщений: 1,075
20.12.2016, 12:55  [ТС] 2
Сама папочка.
Вложения
Тип файла: 7z test.7z (251 байт, 1 просмотров)
0
102 / 106 / 62
Регистрация: 19.11.2015
Сообщений: 380
20.12.2016, 13:09 3
Лучший ответ Сообщение было отмечено Чипс как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
static void Main(string[] args)
        {
            DirectoryInfo aDir = new DirectoryInfo("C:/");
 
            var FileSystemInfos = aDir.GetFileSystemInfos();
 
            var q = FileSystemInfos.Where(x => x.Attributes.ToString().Contains("Directory"));
            foreach (var item in q)
                Console.WriteLine(item);
            Console.ReadLine();
        }
В итоге запрос тебе возвращает коллекция IEnumerable<FileSystemInfo>, где ты сможешь получить все, что тебе нужно об этих папках. и название, и т.д

Добавлено через 2 минуты
Вот эта строка в вашем коде:
C#
1
var q = FileSystemInfos.Select(n => n.Attributes.ToString() == "Directory");
не корректная, потому что вы строго выбираете, что атрибут равен Directory, но у папки ведь могут быть и другие атрибуты, например, тот же ReadOnly и т.д.
Поэтому лучше использовать Contains()
1
82 / 60 / 17
Регистрация: 21.08.2015
Сообщений: 1,075
20.12.2016, 13:55  [ТС] 4
Пасибо!
0
20.12.2016, 13:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2016, 13:55
Помогаю со студенческими работами здесь

Выбор файлов через FileSystemInfos
Добрый день. Нужен совет: Пытаюсь вытащить из папки файлы: string path =...

Вместо папок файлы
Всем привет. Случилось странное. Дело в том что перед тем как полностью переустановить Мак ОС, я...

Вместо папок появились файлы
Здравствуйте! На флешке, после ее восстановления, вместо папок появились файлы. Началось все с...

Удалились все файлы с папок
Добрый день, с толкнулся с очень непростой ситуацией. На сервере пропали все файлы, при этом папки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru