无法在 C# 中将 fileinfo[] 隐式转换为 string[]
Cannot implicitly convert fileinfo[] to string[] in c#
我在 c# 中有这一行需要修改,目前它工作正常
string[] UploadFilesList = new DirectoryInfo(UploadFolder)
.GetFiles()
.Select(o => o.Name.Replace(".txt", ""))
.ToArray();
我不是编写此代码的人。我想要做的是 而不是 将 .txt 替换为任何内容。
所以我这样做了
string[] UploadFilesList = new DirectoryInfo(UploadFolder)
.GetFiles()
.Select(o => o)
.ToArray();
但收到此错误
Cannot implicitly convert fileinfo[] to string[] in c#
我又把代码改成了
string[] UploadFilesList = new DirectoryInfo(UploadFolder)
.GetFiles()
.ToArray();
但还是一样的错误,如何解决?
在您的第一个代码片段中,您要选择每个文件的文件名,然后替换扩展名。
在您的第二个和第三个代码片段中,您从 DirectoryInfo
获取所有文件并尝试将其存储在 string[]
中,但是
DirectoryInfo().GetFiles()
returns an array of type FileInfo
由于这个原因,您收到错误 无法将 fileinfo[] 隐式转换为 string[]
如果你想要一个上传文件名称的数组,那么试试下面的,
string[] UploadFilesList = new DirectoryInfo(UploadFolder)
.GetFiles() //Provide list of files from given. directory
.Select(x => x.Name) //Select only Name from each FileInfo. Do not replace an extension
.ToArray(); //Convert to an array.
编译器告诉您,您正在尝试将文件存储在一个字符串数组中,这是不可能的,要获得一个字符串数组,只需 select 名称 属性 而不是所有的文件.
.select(o=>o.name)
.toArray();
我在 c# 中有这一行需要修改,目前它工作正常
string[] UploadFilesList = new DirectoryInfo(UploadFolder)
.GetFiles()
.Select(o => o.Name.Replace(".txt", ""))
.ToArray();
我不是编写此代码的人。我想要做的是 而不是 将 .txt 替换为任何内容。
所以我这样做了
string[] UploadFilesList = new DirectoryInfo(UploadFolder)
.GetFiles()
.Select(o => o)
.ToArray();
但收到此错误
Cannot implicitly convert fileinfo[] to string[] in c#
我又把代码改成了
string[] UploadFilesList = new DirectoryInfo(UploadFolder)
.GetFiles()
.ToArray();
但还是一样的错误,如何解决?
在您的第一个代码片段中,您要选择每个文件的文件名,然后替换扩展名。
在您的第二个和第三个代码片段中,您从 DirectoryInfo
获取所有文件并尝试将其存储在 string[]
中,但是
DirectoryInfo().GetFiles()
returns an array of typeFileInfo
由于这个原因,您收到错误 无法将 fileinfo[] 隐式转换为 string[]
如果你想要一个上传文件名称的数组,那么试试下面的,
string[] UploadFilesList = new DirectoryInfo(UploadFolder)
.GetFiles() //Provide list of files from given. directory
.Select(x => x.Name) //Select only Name from each FileInfo. Do not replace an extension
.ToArray(); //Convert to an array.
编译器告诉您,您正在尝试将文件存储在一个字符串数组中,这是不可能的,要获得一个字符串数组,只需 select 名称 属性 而不是所有的文件.
.select(o=>o.name) .toArray();