Loading...
tandaleyo avatar tandaleyo 13 Точки

List Проблем

Привет,

 

Решавам "Problem 8.* Longest Non-Decreasing Subsequence" от домашното Advanced C# октомври, което се намира ТУК.

Написал съм ТОЗИ код, и въвеждам тези данни: "11 2 12 13 3 4 5". Програмата гърми с грешка и при дебъгване видях, че щом присвоя стойност на един лист от друг лист (printList = tempList;) и след това изчистя стойностите на втория лист (tempList.Clear();), то се изтриват и всички стойности в printList. Моля някой да ми помогне с разяснение защо се случва така.

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

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

 

Тагове:
0
Programming Basics
tandaleyo:
Проблема е решен.
Filkolev avatar Filkolev 4482 Точки
Best Answer

Може да прочетеш ТУК малко защо се получава така. Друг вариант е да погледнеш лекцията по ООП за Обща система от типове в частта, където се обясява разликата между стойностните и референтните типове.

Накратко, работиш с един и същи обект в паметта и имаш две променливи, които сочат към него. Когато промениш обекта през която и да е от референциите (променливите), ти променяш обекта и достъпвайки го след това ще видиш променения обект, без значение коя променлива ползваш.

2
12/12/2015 18:08:33
tandaleyo avatar tandaleyo 13 Точки

Благодаря за изчерпателния отговор.

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