Arrays. Lab Problem 7 Sum Arrays
Здравейте колеги, дали някой може да ми обясни защо двата кода се "държат" различно. Това е задача 7 (sum arrays) от урока за масиви. И в 2та кода използвам метод (GetSum) за изчисляване на сумата на елементите от 2та масива, като използвам трети масив (sumOfNumbers). В първият вариант, към метода подавам 3 масива, а във вторият 2 масива, като sumOfNumbers го инициализирам пак в метода. При дебъгване и при двата варианта sumOfNumbers в Main метода се променя при въртенето на цикъла в GetSum метода, но при първия вариант при излизането от GetSum елементите на масива sumOfNumbers си запазват стойностите, а при втория се променят на 0.
Това го разбирам, просто ме обърква, че когато пусна дебъгера във VS и пинна елементите на sumOfNumbers в Main метода и почна стъпка по стъпка да преминавам през кода с F11 и когато вляза във GetSum, този масив който е в Mian и както казваш няма общо с този който е в GetSum, почва да се променя заедно с масива в GetSum, а не би трябвало...
Това се получава поради еднаквите имена и особеностите на дебъгера - реално се променя само масива в метода, но просто дебъгера ти го показва на мястото на пиннатия масив от мейна заради същото име. Дай им различни имена на двата масива и разгледай как се държи дебъгера в този случай.
По всяка вероятност се случва копиране на името във VS при дебъгване. Обърка ме и ме наведе на мисълта, че и по този начин мога да променям масиви.