Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vb.net中,如何从基于逗号分隔字符串的目录中获取文件?_Vb.net - Fatal编程技术网

在vb.net中,如何从基于逗号分隔字符串的目录中获取文件?

在vb.net中,如何从基于逗号分隔字符串的目录中获取文件?,vb.net,Vb.net,我需要从文件夹中的文件创建一个数组()。下面是一个如何获取文件夹中所有文件的示例 Dim filesList = New DirectoryInfo("MyPath").GetFiles("*", SearchOption.TopDirectoryOnly).Where(Function(f) Not f.Attributes.HasFlag(FileAttributes.Hidden)).[Select](Function(f) New AClassNameHere(f)).ToArray()

我需要从文件夹中的文件创建一个
数组()。下面是一个如何获取文件夹中所有文件的示例

Dim filesList = New DirectoryInfo("MyPath").GetFiles("*", SearchOption.TopDirectoryOnly).Where(Function(f) Not f.Attributes.HasFlag(FileAttributes.Hidden)).[Select](Function(f) New AClassNameHere(f)).ToArray()
我想做完全相同的事情,但只获取存在于逗号分隔字符串中的文件

Dim myFiles as String = "filename1.jpg,filename2.jpg,filename3.jpg"
在这里,您可以看到
aclassname这里
是我需要将每个文件发送到的一个类,如果我知道如何发送关于每个文件的附加数据,如其类型、大小等,那将非常棒

谢谢你

用这个

    Dim Files() As String
    Files= filesList.Split(",")

    For each File In Files
    Msgbox(File)
    Next

您可以通过添加额外的
.Where()
过滤器来缩小查询结果的范围

Dim myFiles as String = "filename1.jpg,filename2.jpg,filename3.jpg"
Dim filesList = New DirectoryInfo("MyPath")
                .GetFiles("*", SearchOption.TopDirectoryOnly)
                .Where(Function(f) Not f.Attributes.HasFlag(FileAttributes.Hidden))
                .Where(Function(f) myFiles.Contains(f.Name))
                .[Select](Function(f) New AClassNameHere(f)).ToArray()
更好的选择是确保所有文件名都遵循一种模式

New DirectoryInfo("MyPath").GetFiles("filename*.jpg", SearchOption.TopDirectoryOnly)

这不是我想要的,但我很感激。我希望使用逗号分隔的字符串作为搜索表达式,而不是在数组中循环。这简直太棒了。这正是我想要的。非常感谢。我正在构建的文件控件允许不同的文件类型,因此我不得不根据用户在设置中选择的文件类型搜索文件的全名。非常感谢。这种方法的问题是,
GetFiles(“*”
将获取所有文件,丢弃仅在创建后才需要的
FileInfo
对象。当目标目录有大量文件时,这会减慢应用程序的速度。