Visual Basic类型'1维数组String'的值不能转换为'String

时间:2011-08-27 03:50:18

标签: vb.net visual-studio-2010

我正在研究一个程序,我得到这个“类型的值'1维数组的String'不能转换为'String'。”

以下是导致此错误的代码:

Label4.Text = System.IO.Directory.GetDirectories(Backup)

继承人的字符串

Dim Backup As String
        Backup = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.MineRbu"

3 个答案:

答案 0 :(得分:2)

GetDirectories()方法返回一个字符串数组。您将其设置为字符串属性(.Text)。

请改为尝试:

Dim dirs() As String = System.IO.Directory.GetDirectories(Backup)
Label4.Text = string.Join(vbCrLf, dirs)

这会将所有目录提取到一个数组中,然后将每个项目放到标签上(用新行分隔)。

答案 1 :(得分:1)

System.IO.Directory.GetDirectories(Backup)返回一个字符串数组。

您可能需要将其更改为:

'This will insert each value returned from GetDirectories'
For Each Dir as String in System.IO.Directory.GetDirectories(Backup)
  Label4.text &= Dir & VbCrLF
Next

'Alternatively, if you just need the first result:'
Label4.text = System.IO.Directory.GetDirectories(0)

<强>参考

答案 2 :(得分:0)

您应该将Backup声明为DirectoryInfo,而不是类型为字符串

Dim Backup As DirectoryInfo = New DirectoryInfo(path)

请参阅Microsoft Example