Skocz do zawartości

Sprawdzanie istnienia zmiennej


Rekomendowane odpowiedzi

@Dawidds: Coś nie bardzo mi to działa, chyba że coś robię źle. A nie, już wiem jak to zrobić.

 

A co do obiektów, to niby wiem że to zmienne ale nie do końca, na przykład nie da się przypisać obiektu do tablicy (a by mi się to przydało).

Odnośnik do komentarza
Udostępnij na innych stronach

Może zacznijmy od tego że jeśli chcesz żeby te Twoje labelki były widoczne to nie wystarczy ich utworzyć:

Label label = nw Label();
Label.Text = "ssds";
Label.Location = new Point(dfsd);
this.Controls.Add(label);

this to w tym przypadku Form ale równie dobrze możesz dodać to do np. tabControla

Odnośnik do komentarza
Udostępnij na innych stronach

No to tak samo jak wcześniej, tylko zapisujesz sobie referencje do tych labeli w tablicy

Label[] tablica = new Label[10];
for(int i=0; i<tablica.Length; i++)
{
Label lab = new Label();
lab.Text = i.ToString();
lab.Location = new Point(5, 5+i*20);

this.Controls.Add(lab);
tablica[i] = lab;
}

Odnośnik do komentarza
Udostępnij na innych stronach

A czemu nie?

 

Samo "Label[] tablica" po utworzeniu jest tylko pustą tablicą. Label nie jest typem prostym więc nie ma żadnej "domyślnej wartości" którą mógłby uzyskać w momencie stworzenia tablicy, po prostu jest wypełniany nullem. Gdybyś zrobił to samo z intem/floatem/boolem/stringiem albo z jakąkolwiek strukturą którą możesz sobie sam zrobić (niech będzie Point) została by ona utworzona i otrzymała by właśnie swoją "domyślną wartość" (dla inta 0, dla boola false, dla stringa "", dla Point zgaduję że (0,0)).

 

Także klucz tkwi w tym "new Label()". I kod:

Label[] tablica = new Label[10];
tablica[4].Text = "";

Nie ma sensu tak samo jak:

Label zmienna;
zmienna.Text = "";

W drugim przypadku wyraźnie widać, że nigdzie nie utworzyliśmy tego obiektu Label i próbujemy zmienić zmienną należącą do nieistniejącego obieku, do pustej zmiennej.

Samo "new Label[10]" dotyczy utworzenia tablicy, a nie jej elementów.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...