Mam następujący kod:
class Tklasa
{
public void Dodaj() { ... }
}
Tklasa[] tablica = new Tklasa[int.Parse(rozmiarTablicy)];
<ort>klasa[2].Dodaj()</ort>
Dlaczego w tym miejscu progarm się wysypuje?
Mam następujący kod:
class Tklasa
{
public void Dodaj() { ... }
}
Tklasa[] tablica = new Tklasa[int.Parse(rozmiarTablicy)];
<ort>klasa[2].Dodaj()</ort>
Dlaczego w tym miejscu progarm się wysypuje?
Amadek napisał(a)
Dlaczego w tym miejscu progarm się wysypuje?
Bo ten kod jest bez sensu. :P
Daj sobie spokój z tablicami, bo to archaizm. Platforma .NET oferuje o wiele lepsze sposoby na przechowywanie obiektów i późniejszy dostęp do nich (Collection, SortedList, Dictionary...).
darek963 - kazdy element jezyka jest po to zeby go uzywac. tablice nie sa archaizmem, jako kolekcje niemodyfikowalne sa duzo szybsze, pozwalaja na latwiejsza typizacje i zajmuja mniej pamieci niz kolekcje oparte na przechwywaniu typu Object. Kolekcje z generics tez pozwalaja a typizacje, ale one to dopiero sa ciezkie..
amadek - wywala sie, poniewaz linijke wyzej co prawda tworzysz tablice dwuelementowa, ale ona po utworzeniu jest pusta -- wszyskie jej elementy sa ustawione na null
Klasa[] tab = new Klasa[2];
//tab[0].cokolwiek daje crash bo tab[0]==null
tab[0] = new Klasa();
tab[1] = new Klasa();
tab[0].cokolwiek //jest ok