Napełnienie zmiennej byte[] danymi z pliku

0

W jaki sposób napełnić zmienna typu byte [] liczbami z pliku?
w pliku mam linie 33, 2, 196, 96, 94, 198, 15, 51

i chce by te liczby znalazły się w zmiennej czyli :

byte[] zmienna1 = { 33, 2, 196, 96, 94, 198, 15, 51 };

niby wiem jak otworzyć czytywanie z pliku, ale co dalej?

string path = Path.Combine(Application.StartupPath, "config.dat");
                FileStream fs = new FileStream(path, FileMode.Open);
                StreamReader sr = new StreamReader(fs);

                byte [] zmienna1 = sr.ReadLine();

taki kod jak wyżej pokazuje mi błąd

Cannot implicitly convert type 'string' to 'byte[]

0

Poszukaj pod kątem c# string explode (jestem na 95% pewien, że C# ma nawet taką funkcję w standardzie).

2
StreamReader sr = new StreamReader(fs);
byte [] zmienna1 = sr.ReadLine();

Ten kod jest oczywiście bez sensu, nie możesz sobie tak po prostu przypisać stringa do tablicy bajtów (a nawet gdyby się dało, robiłoby to coś zupełnie innego niż myślisz).

Można to zrobić tak:

var text = "123, 10, 34, 110, 210";
var numbers = text.Split(',');
var bytes = new List<byte>();
foreach (var num in numbers) {
    bytes.Add(byte.Parse(num.Trim()));
}
var array = bytes.ToArray();

Albo to samo, tylko ładniej:

var array = text
    .Split(',')
    .Select(num => byte.Parse(num.Trim()))
    .ToArray();

edit - hmm, skrypt nie koloruje 'var', szkoda

0

dokładnie o to mi chodziło! ;)

//-----Wpierw czytanie z pliku--------------------------------------------------

string path = Path.Combine(Application.StartupPath, "config.dat");
                FileStream fs = new FileStream(path, FileMode.Open);
                StreamReader sr = new StreamReader(fs);

                stringNaArr(sr.ReadLine());
//-------------------------------------------------------

 private byte[] zmienna;

//------No i klasa dzialajaca te cuda---------------

 private void stringNaArr(string text)
        {
            var array = text
                .Split(',')
                .Select(num => byte.Parse(num.Trim()))
                .ToArray();

            zmienna = array;
        }

//-------------------------------------------------------

1 użytkowników online, w tym zalogowanych: 0, gości: 1