Loading...
svetlyoek avatar svetlyoek 20 Точки

Arrays/Lists C#

Понеже някои неща все още ги бъркам, бих искал да разбера следните неща:

1.Когато премахвам елемент от масив и/или лист трябва ли задължително да пренареждам другите или това става по подразбиране?

2.Когати им разменя местата?

3.Когато инсъртвам?

...и други подобни случаи

Благодаря!

Тагове:
1
Fundamentals Module
Jordan_Dobrev12 avatar Jordan_Dobrev12 336 Точки

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

Когато премахваш елемент от лист не правиш нищо, отдолу се случват някакви магии, но няма да ти се наложи да пренареждаш елементите (Освен ако не си имплементираш твой лист, тогава ще ти се наложи, но това не нещо, което се учи в

Technology Fundamentals)

Не съм сигурен какво имаш предвид под - Когати им разменя местата? Обоснови се, какво имаш предвид.

Когато insert-ваш не правиш нищо, даваш индекса и елемента и не мислиш засега какво става, просто се случва.

Разбира се, говоря в контекста на C#, ако караш Тех-а на JS, там масивите са листове и има някой особености (примерно в JS можеш триеш елементи от масив по идиотски начин)

 

0
svetlyoek avatar svetlyoek 20 Точки

Под това да им разменя местата имам предвид елемента на индекс[3] да се смени с елемента на иднекс[7] примерно...Тогава само ги разменям без да трия ?Като цяло в масива ми е по-мъгляво как стават тия неща.

0
Hristo13 avatar Hristo13 227 Точки

Не може да триеш и добавяш елементи в масив. За тази цел създаваш нов масив с такава дължина която те устроива. Примерно имаш масив от 5 елемента обаче искаш да добавиш 1 новa стойност. Създаваш си масив с дължина 6 и въртиш цикъл по дължината на стария като слагаш елементи от стария масив в новия.

 

int[] oldArray = {1, 2, 3, 4, 5,};

int[]newArray = new int[6]; // newArray = {0, 0, 0, 0, 0, 0} всички елементи са нули по дефаулт

int addValue = 6;

for i = 0 < oldArray.length; i++ {

         newArray[i] = oldArray[i];

}

newArray[newArray.length - 1] = addValue;

newArray = {1, 2, 3, 4, 5, 6}

Вече нещата малко се усложнават ако имаш повече нови стойности и ако ги искаш на опрделени индекси.

 

 

Разменянето на места.

int[] numbers = {1, 2, 3, 4, 5,};

Задават ти да размениш местата на два елемента. Когато работиш с индекси винаги проверявай дали са в диапазона на масива. Примерно искаш да смениш 2ра позиция с 4та.

 

Правиш си една временна променлива int temp = numbers[2] // на втора позиция седи 3ката

numbers[2] = numbers[4]; //numbers = {1, 2, 5, 4, 5,}

numbers[4] = temp; // numbers = {1, 2, 5, 4, 3,}

 

Листовете са направени с цел като ти трябва да добавяш махаш и тн да не прибягваш всеки път да въртиш цикли и каквото било за целта. Отдоло в тези методи на листовете точно това се случва.

 

0
11/03/2019 19:49:34
svetlyoek avatar svetlyoek 20 Точки

Благодаря!

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