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

Problem przy debugowaniu

VPS Starter Arubacloud
0 głosów
110 wizyt
pytanie zadane 15 kwietnia 2017 w C# przez matilogias Obywatel (1,550 p.)
edycja 15 kwietnia 2017 przez matilogias

Tworzę kalkulator graficzny lecz nie mogę znaleźć błędu między pierwszym a drugim break pointem.

Pętla (zaznaczona jako "ta pętla") powinna zmieniać wszystkie litery 'x' w " tabb "n a liczbę kryjącą się pod zmienną " i " i tak się dzieje lecz przy okazji zmienia też tablicę " HelpTab ". Co zrobić żeby " HelpTab " się nie zmieniało? 

dynamic tabb = new dynamic[] {'x', '^', 2},
        HelpTab;
HelpTab = inout(tabb);
         //   \/ break point 1
        for (double i = x_start; i < x_stop; i += x_literation)
        {
            for (int j = 0; j < tabb.Length; j++)  // ta pętla
                if (tabb[j] == 'x') tabb[j] = i;
            ;  // < break point 2 
            TabToReturn = AddToTabDouble(TabToReturn, calculate(tabb));
            tabb = HelpTab;
        }

 

1 odpowiedź

+1 głos
odpowiedź 15 kwietnia 2017 przez Bartłomiej Łaski Mądrala (5,100 p.)

Witam :) 

HelpTab się zmienią, ponieważ przekazujesz referencje do obiektu. Co znaczy, że pod tabb oraz HelpTab znajduje się odwołanie do takiej samej komorki pamieci.

Przyklad:
Object a = new Object()
Object b = a; //w ten oto sposob została przekazana referencja do obiektu a, co spowodowało, że wartosci zmieniona w b zostanie zmienion rownież w a.

Możesz sprobowac zrobic taki triczek, że

Object a = new Object();
Object b = a.Clone() //z tego co pamiętam obiekt jest wtedy klonowany i zamuje oddzielny obszar pamieci :)


Pozdrawiam
Tajfun :P

 

 

 

1
komentarz 15 kwietnia 2017 przez matilogias Obywatel (1,550 p.)
Dzięki za odpowiedź lecz .clone() jest dla zmiennych typu object a nie dynamic

Podobne pytania

+4 głosów
1 odpowiedź 216 wizyt
0 głosów
0 odpowiedzi 546 wizyt
pytanie zadane 11 października 2021 w C# przez XLR8 Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 152 wizyt
pytanie zadane 29 listopada 2019 w C# przez roxy32l Początkujący (470 p.)

92,768 zapytań

141,691 odpowiedzi

320,507 komentarzy

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

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!

...