Loading...
IvanAndonov avatar IvanAndonov 5 Точки

[Technical Issue] C# - Разлика между индексатор и placeholder

Здравейте,

Знае ли някой каква е точната разлика между операторите индексатор [] и placeholder {}?

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

Тагове:
0
Programming Basics 30/03/2015 11:34:07
Filkolev avatar Filkolev 4482 Точки

Индексаторът освен да достъпва може и да променя елементите в масив например. Когато кажеш arr[i] достъпваш елемента, но може и да го промениш в доста случаи като кажеш: arr[i] = value.

Плейсхолдърът се слага във форматиращ стринг и той впоследствие се заменя с някаква стойност. Доста различни неща са. Приликата е, че им се подава индекс. Плейсхолдъра не е оператор, той просто указва, че на негово място ще се сложи нещо друго.

6
IvanAndonov avatar IvanAndonov 5 Точки

Много благодаря!

0
AleksandurSeferinkin avatar AleksandurSeferinkin 333 Точки

В допълнение на написаното от Filkolev:

Специално в C# този placeholder се ползва по следния начин - Console.Write(Line)("{0}{1}", arg1, arg2);

Също така тези скоби се ползват за инициализиране на масиви - int[] array = { 1, 2, 3 };

Може и за инициализиране на класове - var classInstance = new ClassConstructor() { Property1 = value, Property2 = value };

С тези скоби дефинираме и блокове - public static int GetValue() { } или public Class { }

Само в първия случай ги наричаме "placeholder", в останалите случаи просто "curly braces".

Индексатор се наричат квадратните скоби в контекста на достъпване елемент в масив - array[0] = 1 или int val = array[0];

Наясно си, че се ползват и за дефиниране на масиви - int[] array = new int[1]; или int[,] array = new int[1, 1];

Или за дефиниране на индексатор - public static int this[int index] { get {} set {} };

1
26/03/2015 14:14:10
IvanAndonov avatar IvanAndonov 5 Точки

Много благодаря!

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