2009-11-14 2 views

ответ

0

Если вы просматриваете все файлы в каталоге и принимаете расширение каждого файла. Убедитесь, что он еще не существует в вашем списке, и если он не добавлен. к тому времени, когда вы пройдете все файлы, у вас будет свой список.

Для этого не существует ни одного метода.

+0

Фактически, если вы используете Набор вместо списка, вам не нужно писать логику дедупликации. –

3

Получить все файлы в каталоге, получить расширения из них, и удалить дубликаты:

Dim extensions As String() = _ 
    Directory.GetFiles(path) _ 
    .Select(Function(f As String) Path.GetExtension(f)) _ 
    .Distinct() _ 
    .ToArray() 

Edit:
изменен на синтаксис VB

0

Я хотел бы использовать запрос LINQ с VB .NET Group By В синтаксисом:

Dim extensions = From file In New DirectoryInfo(path).GetFiles() _ 
       Group file By file.Extension Into Group 

Вы можете итерацию через них следующим образом:

For Each extension In extensions 
    Console.WriteLine(extension.Extension) 
Next 
Смежные вопросы