我有一个问题,我想你可以帮助我,我有这个代码:
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]);
这是错误:
类型&#39; System.Collections.Generic.IEnumerable&#39;不可能是 隐式转换为&#39; string []&#39;。已经明确了 转换存在。
我该如何解决这个问题?
答案 0 :(得分:3)
尝试:
Directory.GetFileSystemEntries(textbox2_f2.Text, "*", SearchOption.AllDirectories)
.Select(System.IO.Path.GetFileName)
.ToArray()
答案 1 :(得分:1)
此代码:
Directory.GetFileSystemEntries(textbox2_f2.Text, "*", SearchOption.AllDirectories)
返回string[]
,很好。
但是你把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);
}