Vb.net 列出文件,按扩展名过滤,不带路径

Vb.net 列出文件,按扩展名过滤,不带路径,vb.net,list,listbox,format,getfiles,Vb.net,List,Listbox,Format,Getfiles,由于难以在同一行代码中筛选和列出几种类型的文件,例如:System.IO.directory.getfiles(path,“*.avi,*.flv,*mpg”我使用排序列表框,下一个代码中每种格式有一行: Dim newdir As String ListBox3.Items.AddRange(System.IO.Directory.GetFiles(newdir, "*.avi")) ListBox3.Items.AddRange(System.IO.Directory.GetFiles(

由于难以在同一行代码中筛选和列出几种类型的文件,例如:
System.IO.directory.getfiles(path,“*.avi,*.flv,*mpg”
我使用排序列表框,下一个代码中每种格式有一行:

Dim newdir As String
 ListBox3.Items.AddRange(System.IO.Directory.GetFiles(newdir, "*.avi"))
 ListBox3.Items.AddRange(System.IO.Directory.GetFiles(newdir, "*.flv"))
 ListBox3.Items.AddRange(System.IO.Directory.GetFiles(newdir, "*.mpg"))
这段代码按字母顺序列出了刚刚知道的视频文件,唯一的问题是:它列出了包含扩展名的完整路径!我如何管理它以获得没有扩展名的名称?最简单的代码?我的意思是适应一些类似
的结构。GetFileNameWithoutExtension

IO.Path.GetFileNameWithoutExtension())
(但它不能过滤格式)不是吗?

您可以使用,如下所示:

Dim files As New List(Of String)
files.AddRange(IO.Directory.GetFiles(newdir, "*.avi").
               Select(Function(f) IO.Path.GetFileNameWithoutExtension(f)))
files.AddRange(IO.Directory.GetFiles(newdir, "*.flv").
               Select(Function(f) IO.Path.GetFileNameWithoutExtension(f)))
files.AddRange(IO.Directory.GetFiles(newdir, "*.mpg").
               Select(Function(f) IO.Path.GetFileNameWithoutExtension(f)))

ListBox3.Items.AddRange(files.ToArray)
您可以使用,如下所示:

Dim files As New List(Of String)
files.AddRange(IO.Directory.GetFiles(newdir, "*.avi").
               Select(Function(f) IO.Path.GetFileNameWithoutExtension(f)))
files.AddRange(IO.Directory.GetFiles(newdir, "*.flv").
               Select(Function(f) IO.Path.GetFileNameWithoutExtension(f)))
files.AddRange(IO.Directory.GetFiles(newdir, "*.mpg").
               Select(Function(f) IO.Path.GetFileNameWithoutExtension(f)))

ListBox3.Items.AddRange(files.ToArray)

如果有多个文件具有相同的名称但扩展名不同,例如“kitten.avi”和“kitten.mpg”,您希望如何处理?如果有多个文件具有相同的名称但扩展名不同,例如“kitten.avi”和“kitten.mpg”,您希望如何处理?