• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C# odwołanie do tablicy bez słowa kluczowego static

VPS Starter Arubacloud
0 głosów
678 wizyt
pytanie zadane 9 kwietnia 2019 w C# przez rav89lodz Użytkownik (590 p.)

Dzień doby,

mam dwie Formy, na pierwszej jest tablica do której losowane są liczby. Na drugiej formie chcę się do tej tablicy (konkretnie tablica[0]) odwołać, niestety nie mogę bo nie mam słowa kluczowego static. Ale nie mogę ustawić tablicy jako statycznej, ponieważ nie będę mógł jej modyfikować i koło się zamyka (przynajmniej przed mną cheeky ). Jak to obejść? Czy jest jakiś sposób, żeby modyfikować zmienne statyczne, lub odwoływać się do elementów nie będących static? smiley

komentarz 9 kwietnia 2019 przez adrian17 Ekspert (344,100 p.)

niestety nie mogę bo nie mam słowa kluczowego static

Nie potrzebujesz `static`, by mieć dostęp do właściwości innego obiektu. Masz obiekt forma, to masz jego właściwości.

Ale nie mogę ustawić tablicy jako statycznej, ponieważ nie będę mógł jej modyfikować

(Tego wnioskowania też nie rozumiem.)

komentarz 9 kwietnia 2019 przez rav89lodz Użytkownik (590 p.)

bez Static w formie 2 mam błąd, nie mogę się odwołać, nawet jak dziedziczę form2 : form1

private int i = Form1.tab[0]; // błąd

kiedy zapisuję coś do tablicy

static int [] tab = new tab[3] 
tab[0] = 10; // błąd

to każdy element ma wartość 0, bo nie mogę zmienić żadnej wartości

komentarz 9 kwietnia 2019 przez rav89lodz Użytkownik (590 p.)
public static int [] tab = new int[3];

tak miało być cheeky

komentarz 9 kwietnia 2019 przez adrian17 Ekspert (344,100 p.)

Dziedziczenie tutaj nic nie ma do rzeczy i kompletnie nie ma sensu.

private int i = Form1.tab[0]; // błąd

Bo bez `static` pola są na instancji klasy, nie na klasie. Więc jak już to:

void Costam() {
    int i = myform.tab[0]; // myform to instancja, nie klasa Form1
}

 

komentarz 9 kwietnia 2019 przez rav89lodz Użytkownik (590 p.)

ok dzięki smiley

 

1 odpowiedź

+2 głosów
odpowiedź 9 kwietnia 2019 przez Velta Maniak (51,890 p.)

Czy jest jakiś sposób, żeby modyfikować zmienne statyczne, lub odwoływać się do elementów nie będących static?

Nie potrzebujesz do tego zmiennej statycznej. Konstruktor drugiego formularza ustaw tak, by parametr przyjmował tablicę i podczas tworzenia jego instancji przekaż tablicę jako argument konstruktora.

Podobne pytania

0 głosów
1 odpowiedź 7,471 wizyt
0 głosów
1 odpowiedź 382 wizyt
pytanie zadane 26 kwietnia 2018 w C# przez Stami Gaduła (3,790 p.)
+1 głos
1 odpowiedź 201 wizyt
pytanie zadane 1 lipca 2016 w C# przez niezalogowany

92,455 zapytań

141,263 odpowiedzi

319,100 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...