类型'System.Collections.Generic.IEnumerable & lt; string>
本文关键字:string lt IEnumerable Collections System 类型 Generic | 更新日期: 2023-09-27 18:15:34
我有一个问题,我认为你可以帮助我,我有这个代码:
string[] A1 =
Directory
.GetFileSystemEntries(textbox2_f2.Text, "*", SearchOption.AllDirectories)
.Select(System.IO.Path.GetFileName);
for (int i1 = 0; i1 < A1.Length; i1++)
listbox_2f.Items.Add(A1[i1]);
错误如下:
类型'System.Collections.Generic.IEnumerable '不能是隐式转换为'string[]'。已经有一个明确的转换存在。
我该如何解决这个问题?
尝试:
Directory.GetFileSystemEntries(textbox2_f2.Text, "*", SearchOption.AllDirectories)
.Select(System.IO.Path.GetFileName)
.ToArray()
代码:
Directory.GetFileSystemEntries(textbox2_f2.Text, "*", SearchOption.AllDirectories)
返回一个string[]
,它是great。
然后在上面放一个Select
。Select
返回一个IEnumerable
,不能直接赋值给数组。
您可以调用ToArray()
并按原样使用,但您也可以更直接地使用IEnumerable
(并节省转换所需的一点时间)。
//A1 will be IEnumerable<String>
var A1 = Directory.GetFileSystemEntries(textbox2_f2.Text, "*", SearchOption.AllDirectories)
.Select(System.IO.Path.GetFileName);
foreach (var a in A1)
{
listbox_2f.Items.Add(a);
}