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

c# referencja do referencji

+1 głos
322 wizyt
pytanie zadane 22 stycznia 2017 w C# przez jankustosz1 Nałogowiec (36,960 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 (36,960 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 (36,960 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ź 142 wizyt
pytanie zadane 22 czerwca 2016 w C# przez niezalogowany
0 głosów
1 odpowiedź 726 wizyt
pytanie zadane 9 maja 2017 w C# przez BlackMoon Obywatel (1,730 p.)
0 głosów
1 odpowiedź 188 wizyt
pytanie zadane 8 stycznia 2017 w C# przez jankustosz1 Nałogowiec (36,960 p.)

93,427 zapytań

142,421 odpowiedzi

322,649 komentarzy

62,787 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...