Member 13066145 Ответов: 2

Как получить c# folderbrowserdialog только имя файла без расширения


Код:
строку имя папки = это.folderBrowserDialog1.SelectedPath;
foreach (строка f в каталоге.Заражен(имя_папки))
{
если (Ф.Нижестоящим().Метода endswith(".форматы jpg")==истина || Ф.Нижестоящим().Метода endswith(".в формате JPEG")==истина)
{
это. listBox1.Предметы.Добавить(f);

Но получите полный путь к файлу. Как я могу получить только имя файла без расширения?

Что я уже пробовал:

Code:
string folderName = this.folderBrowserDialog1.SelectedPath;
                foreach (string f in Directory.GetFiles(folderName))
                {
                    if (f.ToLower().EndsWith(".jpg")==true || f.ToLower().EndsWith(".jpeg")==true)
                    {
                        this.listBox1.Items.Add(f);

2 Ответов

Рейтинг:
1

Kornfeld Eliyahu Peter

Заражен[^] всегда возвращает массив полных имен - вы не можете это изменить...
Вы можете использовать Path.GetFileNameWithoutExtension[^], чтобы получить только имя файла...


Рейтинг:
0

OriginalGriff

Попробуй:

string folderName = this.folderBrowserDialog1.SelectedPath;
     foreach (string f in Directory.GetFiles(folderName))
     {
         if (f.ToLower().EndsWith(".jpg") || f.ToLower().EndsWith(".jpeg"))
         {
             this.listBox1.Items.Add(Path.GetFileNameWithoutExtension(f));


Member 13066145

Отлично, большое спасибо. Решить мою проблему.

OriginalGriff

Пожалуйста!

Member 13066145

Другая проблема,
Нажмите кнопку Далее, изображение изменится, но имя файла никогда не изменится;
Код:
частная пустота nextImage()
{
if (selected == folderFile.Длина - 1)
{
выбрано = 0;
showImage(файл папки[выбран]);

}
ещё
{
выбранный = выбор + 1;
showImage(файл папки[выбран]);
}
}

OriginalGriff

Это совсем другая проблема: ей нужен другой вопрос.
И гораздо лучшее объяснение, чем это!