2015-05-31 2 views
0

Мне нужно решение для моего текущего кода, я пытаюсь сохранить текст в файл из текстового поля и добавить к нему строку. Мой следующий код:Можно ли преобразовать байт() в строку?

Dim fs As FileStream = File.Create(fileName.Text) 

    ' Add text to the file. 

    Dim info As Byte() = New UTF8Encoding(True).GetBytes(CodeBox.Text) 

    Dim Code = "-- Made with LUA Creator by Sam v1.9 
    " + info 
    fs.Write(Code, 0, Code.Length) 
    fs.Close() 

    MsgBox("File saved as " + fileName.Text) 

Но Visual Studio говорит, что я не могу использовать оператор «+» со строками & байт:

Ошибка BC30452 Оператор «+» не определен для типов «строка» и ' Байт()'.

У кого-нибудь есть решение? Извините, если это дубликат, я не мог найти его здесь, поэтому я просто спросил себя. Благодарю.

+3

'' & для объединения строк; '+' для добавления. Попробуйте конкатенировать вашу строку с помощью TextBox, прежде чем использовать 'GetBytes':' "- Made with ..." и CodeBox.Text) ' –

ответ

1

«Можно ли преобразовать байт() в строку?» Короткий ответ - да, но это не похоже на то, что вы действительно хотите сделать.

Вы пытаетесь объединить String с массивом Byte, который Dim Code не имеет представления, каков конечный результат.

FileStream.Write() требует Byte массива, так что вы можете попробовать несколько вещей

  1. Concatenate строка из TextBox с вашей «заголовком» информацией затем превратить его в Byte массив.

    Dim fs As FileStream = File.Create(fileName.Text) 
    
    ' Add text to the file. 
    Dim Code As Byte() = New UTF8Encoding(true).GetBytes("-- Made with LUA Creator by Sam v1.9 " & CodeBox.Text) 
    fs.Write(Code, 0, Code.Length) 
    fs.Close() 
    
  2. Написать свой "заголовок" информацию, а затем записывает информацию о Textbox

    Dim fs As FileStream = File.Create(fileName.Text) 
    
    ' Add text to the file. 
    Dim header As Byte() = New UTF8Encoding(true).GetBytes("-- Made with LUA Creator by Sam v1.9 ") 
    Dim info As Byte() = New UTF8Encoding(True).GetBytes(CodeBox.Text) 
    fs.Write(header, 0, header.Length) 
    fs.Write(info, 0, info.Length) 
    fs.Close() 
    
+0

Я получил его на работу, я использовал только # 1, и это сработало, спасибо. – samiles1995

+0

@ samiles1995 Добро пожаловать ... Просьба дать свой ответ на галочку, чтобы ваш вопрос был решен. – Shar1er80