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

Problem przy debugowaniu

0 głosów
49 wizyt
pytanie zadane 15 kwietnia 2017 w C# i .NET przez matilogias Użytkownik (960 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 Użytkownik (960 p.)
Dzięki za odpowiedź lecz .clone() jest dla zmiennych typu object a nie dynamic

Podobne pytania

+4 głosów
1 odpowiedź 139 wizyt
+1 głos
1 odpowiedź 155 wizyt
0 głosów
1 odpowiedź 169 wizyt
pytanie zadane 28 marca w C i C++ przez sznycel Nowicjusz (120 p.)
Porady nie od parady
Nie wiesz jak poprawnie zredagować pytanie lub pragniesz poznać którąś z funkcji forum? Odwiedź podstronę Pomoc (FAQ) dostępną w menu pod ikoną apteczki.FAQ

67,206 zapytań

114,160 odpowiedzi

241,962 komentarzy

46,183 pasjonatów

Przeglądających: 132
Pasjonatów: 2 Gości: 130

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...