M@ILOSZ Opublikowano 24 Marca 2011 Udostępnij Opublikowano 24 Marca 2011 Jak w c# sprawdzić czy jakaś zmienna, lub jakiś obiekt istnieje? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 24 Marca 2011 Udostępnij Opublikowano 24 Marca 2011 if(asdf != null) { //istnieje } Ale rozwiń Twoją wizję sprawdzenia "czy obiekt istnieje" i czym się to ma różnic od sprawdzenia "czy zmienna istnieje". Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Issen Opublikowano 24 Marca 2011 Udostępnij Opublikowano 24 Marca 2011 każ wyświetlić jej wartość. jeżeli wyjdzie że jest błąd to znaczy że nie istnieje ihihi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
M@ILOSZ Opublikowano 24 Marca 2011 Autor Udostępnij Opublikowano 24 Marca 2011 @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 Więcej opcji udostępniania...
Dawidds Opublikowano 24 Marca 2011 Udostępnij Opublikowano 24 Marca 2011 na przykład nie da się przypisać obiektu do tablicy (a by mi się to przydało).Obiekt[] tablica = new Obiekt[x]; ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
M@ILOSZ Opublikowano 24 Marca 2011 Autor Udostępnij Opublikowano 24 Marca 2011 No a jak utworzyć tą tablicę? (Sorry, ale jestem zielony w c# jeszcze) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 24 Marca 2011 Udostępnij Opublikowano 24 Marca 2011 int[] tablica = new int[ile]; ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
M@ILOSZ Opublikowano 25 Marca 2011 Autor Udostępnij Opublikowano 25 Marca 2011 Jakoś mi nie działa. Mam Visual Studio 2010 Express i jak napiszę np. Label[] tablica = new Label[10]; tablica[1].Text = "sdasdasd"; To jest błąd i pisze że nie ustawiłem odwołania do obiektu na wstępie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 25 Marca 2011 Udostępnij Opublikowano 25 Marca 2011 Label to nie jest typ zmiennej. Ustaw String[] tab = new String[10] tab[1]="sasasasa" Label1.Text=tab[1] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 25 Marca 2011 Udostępnij Opublikowano 25 Marca 2011 Jak nie jest? Jak sobie utworzy to będzie... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 26 Marca 2011 Udostępnij Opublikowano 26 Marca 2011 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 Więcej opcji udostępniania...
M@ILOSZ Opublikowano 26 Marca 2011 Autor Udostępnij Opublikowano 26 Marca 2011 @Dawidds: No tyle to ja wiem, ale jak chcę utworzyć kilka (bądź kilkaset) obiektów tego samego typu za pomocą pętli (np. while), to jak? Podejrzewam że tablica, ale jak to zrobić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 26 Marca 2011 Udostępnij Opublikowano 26 Marca 2011 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 Więcej opcji udostępniania...
M@ILOSZ Opublikowano 26 Marca 2011 Autor Udostępnij Opublikowano 26 Marca 2011 O, zadziałało. A mógłbyś jeszcze wytłumaczyć dlaczego zadziałało? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 26 Marca 2011 Udostępnij Opublikowano 26 Marca 2011 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 Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę