Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

AsenCME avatar AsenCME 9 Точки

Sequence of Commands

Здравйте колеги!

Тази задача съм я решил, но се чудех едно, как става така че всички методи са void пък "array" се променя като мине през тях?

Ето го кода http://pastebin.com/fD4aH7JV

Благодаря предварително!

1
Programming Fundamentals 02/10/2016 20:42:24
yordank avatar yordank 89 Точки
Best Answer

Според мен ,когато  параметрите на метод са от примитивен тип-int,string,char се работи с техни копия(освен ако не се укаже явно чрез ключовата дума "ref" ,че се работи със самите тях),а когато типа на параметъра на метод е  по сложен-array,List и т.н се работи със самите подадени аргументи на метода,а не с техни копия.

 

 http://www.introprogramming.info/intro-csharp-book/read-online/glava9-metodi/

Потърси 

"Подаване на аргументи от примитивен тип"  

"Подаване на аргументи от референтен тип"

В Глава 9 -Методи от книгата

 

0
02/10/2016 23:12:51
ZornitsaSerbezova avatar ZornitsaSerbezova 455 Точки

Защото скоупа на масива е цялата програма. Това, че метода не връща стойност, не значи, че не може да променя променливи.

0
02/10/2016 21:01:36
koksibg avatar koksibg 892 Точки

Крайната цел на void методите, е че те четат и/или отпечатват нещо на конзолата. 

А какво нещо  ( какви променливи, стрингове и т.н. също и какви матем. операции се извършват) във void метода - няма значение - като крайната  цел е да се оптечати нещо на конзолата, като при това вътре м метода променливите или масивите и т.н. могат да се променят - и те не връщат стойност, която в последствие можеш да ползваш някъде.

Докъто при др. методи се връща някаква стойност, която в последстие можеш да използваш където трябва ( поне така си го обяснявам - сега - ако в последствие се учат др. методи - ще разберем).

0
02/10/2016 21:13:28
AsenCME avatar AsenCME 9 Точки

Ами аз всъщност си направих един тест. Той беше следния:

Направих си една променлива от тип "int" и един масив от промеливи от тип "int". Създадох след това метод за добавяне на 2 към кум самостоятелния инт и две към всеки инт от масива. След това печатам. Това което стана беше, че самостоятелния инт не се беше променил, а интовете в масива се бяха увеличили с две всеки.

Интересно!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.