2013-09-22 2 views
0

Так что я нашел этот код в Интернете (обычно я делаю C#, однако я пытаюсь научить SmallBASIC к моему другу), который в основном читает файл:Почему я должен включать индекс?

TextWindow.Write("Enter the name of the new directory: ") 
DirectoryName = TextWindow.Read() 
files = File.GetFiles(DirectoryName)   
TextWindow.WriteLine("This is the content in the file: ") 
TextWindow.WriteLine(File.ReadContents(files[1])) 

Я понимаю, что это все делает, но почему это должно быть files[1] вместо files?

Удаление индекса [1] просто делает линию неработоспособной, программа все еще компилируется и еще много чего.

SB не имеет отладчика, а ресурсы в Интернете не очень хороши.

+0

Когда линия не работает, есть конкретное сообщение об ошибке? Я предполагаю, что ему нужен индекс, потому что 'files' - это коллекция какого-то типа, а' File.ReadContents() 'ожидает один экземпляр этого типа. – David

ответ

0

Согласно API документов, File.GetFiles возвращает массив:

Если операция прошла успешно, это будет вернуть файлы в виде массива. В противном случае он вернет «FAILED».

Вы указываете индекс, потому что он возвращает массив, а File.ReadContents ожидает один экземпляр.

Открыть API здесь: http://smallbasic.com/doc/?id=6

Смежные вопросы