Visual Basic Значение типа «одномерный массив строк» ​​не может быть преобразовано в строку - PullRequest
0 голосов
/ 27 августа 2011

Я работаю над программой, и я получаю, что "Значение типа 'одномерный массив строк не может быть преобразовано в' строку".

вот код, который получает эту ошибку:

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

И вот строка

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

Ответы [ 3 ]

2 голосов
/ 27 августа 2011

Метод GetDirectories() возвращает массив строк.Вы устанавливаете это в строковое свойство (.Text).

Попробуйте вместо этого:

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

Это извлечет все каталоги в массив, а затем поместит каждый элемент на вашметка (разделенная новой строкой).

1 голос
/ 27 августа 2011

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)

Ссылки

0 голосов
/ 27 августа 2011

Вы должны объявить Backup как DirectoryInfo, а не типа string

Dim Backup As DirectoryInfo = Новый DirectoryInfo (путь)

см. Microsoft Пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...