допустим имеется класс, который после выполнения выдает список строк (не в list), как преобразовать эти строки в массив байтов? эти строки отлично записываются в файл "file.appendalltext("text.txt", класс который генерирует список);" собственно когда пытаюсь преобразовать в byte[] у меня записывается только первая строка в байты)))) byte[] byte = Encoding.ACII.GetBytes(класс который генерирует список);
Покажи этот класс. ( сделай ему на выходе ToArray() ) Куда тебе нужно записать байты? За место AppendAllText есть WriteAllBytes. byte[] buffer = Encoding.UTF8.GetBytes(text); Code byte[] buffer = Encoding.UTF8.GetBytes(text);
r3xq1, сделал выход на ToArray(), появились строки, но они искажённые, неполные. не от кодировки точно. сами строки принимаются через foreach что из этого вышло
eorclanstan, зачем такой геморой делать))) Ну если так нужно, то так запиши: namespace Ebola { using System; using System.Diagnostics; using System.IO; using System.Text; public static class Program { [STAThread] public static void Main(string[] args) { using var mem = new MemoryStream { Position = 0 }; Process[] array = Process.GetProcesses(); foreach (Process list in array) { byte[] bytes = Encoding.UTF8.GetBytes($"{list.ProcessName}\r\n"); mem.Write(bytes, 0, bytes.Length); } string buffer = Encoding.Default.GetString(mem.ToArray()); Console.WriteLine(buffer); Console.ReadLine(); } } } Code namespace Ebola { using System; using System.Diagnostics; using System.IO; using System.Text; public static class Program { [STAThread] public static void Main(string[] args) { using var mem = new MemoryStream { Position = 0 }; Process[] array = Process.GetProcesses(); foreach (Process list in array) { byte[] bytes = Encoding.UTF8.GetBytes($"{list.ProcessName}\r\n"); mem.Write(bytes, 0, bytes.Length); } string buffer = Encoding.Default.GetString(mem.ToArray()); Console.WriteLine(buffer); Console.ReadLine(); } } }