Use of possibly unassigned field???

0

Problem jest w następującym kodzie:

            if (listBox1.Items.Count > 0)
            {
                int ilosc_rekordow = 0;
                List<wav> lista_plikow = new List<wav>();
                wav wczytany_plik;

                foreach (string patch in listBox1.Items)
                {
                    wczytany_plik = wczytaj_plik(patch);
                    lista_plikow.Add(wczytany_plik);
                    ilosc_rekordow++;
                }
                nowy_plik.Write(wczytany_plik.dlugosc2, 0, wczytany_plik.dlugosc2.Length);
                nowy_plik.Write(wczytany_plik.format, 0, wczytany_plik.format.Length);
                nowy_plik.Write(wczytany_plik.kanal, 0, wczytany_plik.kanal.Length);
             }

Jak widać z kodu wartości zawsze będą przypisane jednak kompilator nie potrafi tego zrozumieć :(

Dodatkowo

            if (listBox1.Items.Count > 0)
            {
                int ilosc_rekordow = 0;
                List<wav> lista_plikow = new List<wav>();
                wav wczytany_plik;

                //foreach (string patch in listBox1.Items)
                //{
                    wczytany_plik = wczytaj_plik(listBox1.Items[1]);
                    lista_plikow.Add(wczytany_plik);
                    ilosc_rekordow++;
                //}
                nowy_plik.Write(wczytany_plik.dlugosc2, 0, wczytany_plik.dlugosc2.Length);
                nowy_plik.Write(wczytany_plik.format, 0, wczytany_plik.format.Length);
                nowy_plik.Write(wczytany_plik.kanal, 0, wczytany_plik.kanal.Length);
             }

Działa ale niestety tylko raz :(

Czy da się jakoś nakazać kompilatorowi ignorowanie tego typu "błędów" w wybranej części kodu?
Z góry dzięki za odpowiedz.

0

zamiast wav wczytany_plik;
zadeklaruj to tak: wav wczytany_plik = null;

pomijam ze po petli foeach warto sprawdzic czy jednak ta zmienna nie jest null, bo jesli bedzie to dostaniesz exception

0

Nie da się :(

"Error 2 Cannot convert null to 'wav' because it is a non-nullable value type"

wav jest strukturą

edit
wav wczytany_plik = new wav();
ale tak się dało :) Dzięki za podpowiedz.

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