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

c# referencja do referencji

Object Storage Arubacloud
+1 głos
261 wizyt
pytanie zadane 22 stycznia 2017 w C# przez jankustosz1 Nałogowiec (35,880 p.)
edycja 22 stycznia 2017 przez jankustosz1

Mam tablicę składającą się z klas które posiadają referencje do tej tablicy.

Muszę tę tablicę skopiować i fajnie by było jakby szybko zamienić także ich referencje na nową tablicę.

Jak powiedzmy jest takie coś:

Class Plansza
{
   Plansza plansza;
   Klasa[] tab;
   public Plansza()
   {
      plansza = this;
       tab = new Klasa[100];
       tab[0] = new Klasa(plansza); // chciałbym aby zapisały sobie adres referencji a nie tego na co referencja wskazuje
       tab[1] = new Klasa(plansza);
       ... itd.
   }
   private Plansza(Plansza pl)
   {
        tab = pl.tab.Clone() as Klasa[];
        plansza = this; /// !!!!!!!!!!!!!! czy dałoby się zrobić taki myk i wszystkie elementy tablicy zmieniają plansze?
   }

   public Plansza Clone()
   {
       return new Plansza(this);
   } 
}

W c++ nie byłoby z tym najmniejszego problemu 

1 odpowiedź

0 głosów
odpowiedź 24 stycznia 2017 przez achilles147 Dyskutant (9,580 p.)

Mam tablicę składającą się z klas

 Nie ma czegoś takiego jak tablica składająca się z klas. Masz tablice obiektów typu klasa

klas które posiadają referencje do tej tablicy

nic z tego nie rozumiem. Może poprostu wstaw kod klasy "Klasa"?

 

Muszę tę tablicę skopiować i fajnie by było jakby szybko zamienić także ich referencje na nową tablicę.

1) kopiujesz tablice : tab = pl.tab.Clone() as Klasa[];

2) zmienić "ich" referencję (rozumiem że chodzi o obiekty) na nową tablicę. Czyli chcesz zrobić nową tablicę?. Dlaczego w takim razie nie robisz tab = new Klasa[..].??

 

komentarz 25 stycznia 2017 przez jankustosz1 Nałogowiec (35,880 p.)

Chyba za bardzo pokomplikowałem.

Dam inny przykład:
 

class A{}

void main()

{

A Obiekt1 =new A();

A Obiekt2 =new A();

A referencja= Obiekt1;

A a = referencja; // w ten sposób ustawiam a aby wskazywało NA TO SAMO CO referencja CZYLI Obiekt1 A JA CHCĘ ABY WSKAZYWAŁO NA ADRES referencja ABY PO ZMIANIE referencja NA Obiekt2 a, b i c ZACZĘŁO WSKAZYWAĆ NA Obiekt2. Prościej nie umiem.

A b = referencja;

A c = referencja;

referencja = Obiekt2;

}

 

komentarz 25 stycznia 2017 przez jankustosz1 Nałogowiec (35,880 p.)

Nie czepiaj się drobnych słówek przecież wiadomo o co mi chodziło.

Klasa[] tab;

Mam tablicę składającą się z klas

 Nie ma czegoś takiego jak tablica składająca się z klas. Masz tablice obiektów typu klasa

 

Podobne pytania

+1 głos
1 odpowiedź 99 wizyt
pytanie zadane 22 czerwca 2016 w C# przez niezalogowany
0 głosów
1 odpowiedź 510 wizyt
pytanie zadane 9 maja 2017 w C# przez BlackMoon Obywatel (1,730 p.)
0 głosów
1 odpowiedź 139 wizyt
pytanie zadane 8 stycznia 2017 w C# przez jankustosz1 Nałogowiec (35,880 p.)

92,555 zapytań

141,403 odpowiedzi

319,559 komentarzy

61,940 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...