Можно ли указать список строк типа в DeviceInfo []. Я загружаю список логических дисков на свой компьютер и списываю их, чтобы удалить мой системный каталог (каталог «Моя операционная система»). Теперь я хочу вернуть этот список в DeviceInfo [], так как мне нужно получить логический диск, который имеет больше свободного места.Кастинг Список типа string для DeviceInfo []
DriveInfo[] drive = DriveInfo.GetDrives();
List<string> list = drive.Select(x => x.RootDirectory.FullName).ToList();
list.Remove(Path.GetPathRoot(Environment.SystemDirectory).ToString());
Thank you.
Моя единственная критика в том, что 'Path.GetPathRoot (Environment.SystemDirectory) .ToString()' будет оцениваться для каждой итерации цикла. Это неслучайно на этом очень простом примере, но у таких вещей есть привычка возвращаться, чтобы преследовать вас позже, поэтому хорошо привыкнуть к тому, чтобы правильно реализовывать вещи (даже когда «правильно» означает «вероятно, немного медленнее, но масштабируемо»,). Лучше всего кэшировать это значение в локальной переменной вне выражения LINQ. –
Спасибо Tyress. Это работает. (: – Partha
@MarkFeldman действительно, у меня была внутренняя битва об этом, но то, что выиграло меня, было «сколько дисков он может иметь право ...», но это правда, я отредактирую свой ответ. Спасибо! – Tyress