перебирать файлы в каталоге с помощью FileInfo

В моем приложении — когда пользователи открывают определенную форму, при загрузке страницы я хочу иметь возможность перейти в определенный каталог — обновить некоторые файлы, а затем отобразить их пользователю. Для этого я использую этот код....

Dim di as New DirectoryInfo ("C:\inbox")
dim ArrFi as FileInfo() = di.GetFiles()
Dim fri as FileInfo

if fri.count = 0 then 'If there's no files then no need to stay
  Exit sub
End if

Теперь в этом цикле ниже моя цель — проверить, имеет ли конкретный файл определенное расширение. Я сделал это в другом месте, но использовал STRING в качестве имени каталога/файла, и в этом случае я сделал это...

if stringFileName.EndsWith("TIF") then
  'DO whatever
End if

Однако я не могу сделать это здесь. Я в основном ищу цикл по каждому файлу и делаю что-то только тогда, когда расширение .TIF, но я не уверен, как это сделать, так как я использую FileInfo

For each fri in ArrFi
     if Fri.endsWith = "TIF" Then
       'do something
     else
        'Onto next file
     End if
Next Fri

person BobSki    schedule 13.03.2017    source источник
comment
fri.Name.EndsWith? Вы можете увидеть здесь< /а>.   -  person Ally    schedule 13.03.2017
comment
Существует также .Extension, который возвращает расширение (включает . в начале)   -  person A Friend    schedule 13.03.2017
comment
NET будет фильтровать, а затем перечислять для вас, поэтому вам не нужно ничего зацикливать   -  person Ňɏssa Pøngjǣrdenlarp    schedule 13.03.2017
comment
@PLUTONIX - в этом случае я могу получить только .getFiles с расширением .tif?   -  person BobSki    schedule 13.03.2017
comment
Копировать файлы по порядку с помощью System.IO File.Copy Второй расширенный ответ показывает, как   -  person Ňɏssa Pøngjǣrdenlarp    schedule 13.03.2017
comment
@plutonix - меня беспокоит только то, что некоторые файлы могут иметь .tif (нижний регистр), а некоторые могут быть сохранены как .TIF - не уверен, что это имеет значение   -  person BobSki    schedule 13.03.2017
comment
Вы также можете использовать подстановочные знаки di.GetFiles("*.tif")   -  person Pikoh    schedule 13.03.2017
comment
Затем используйте String.Compare с флагом без учета регистра или Where(Function(w) w.Name.EndsWith(".txt") OrElse w.Name.EndsWith(".TXT")). StringCompare, чтобы разрешить TxT.   -  person Ňɏssa Pøngjǣrdenlarp    schedule 13.03.2017
comment
Dim lstFiles() As String = Directory.GetFiles(YourFilePath, *.tif)   -  person codeMonger123    schedule 13.03.2017
comment
@plutonix - спасибо   -  person BobSki    schedule 13.03.2017
comment
@Pikoh, спасибо и тебе   -  person BobSki    schedule 13.03.2017
comment
@Plutonix EndsWith также имеет перегрузку, позволяющую перечисление StringComparison, поэтому вы можете игнорировать регистр   -  person A Friend    schedule 13.03.2017
comment
Да там на самом деле 3 перегрузки - забыл про них.   -  person Ňɏssa Pøngjǣrdenlarp    schedule 13.03.2017
comment
Спасибо всем, кто-то напишет ответ, чтобы я мог принять   -  person BobSki    schedule 13.03.2017