![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Neuromancer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 23.6.2006 Репутация: нет Всего: нет |
Прошу учесть я в программировании совсем зеленый потихоньку продвигаюсь, конечно, ну вопросов ну просто море
и .NET и PHP и Базы данных ну очень много всего интересного взять бы и все созданные темы прочитать такой объем информации жаль, человек ограничен по времени закачать бы всю эту базу форумов прямо в мозг отвлекся малость Собственно сам вопрос, что такое ИНДЕКСАТОРЫ для чего они вообще нужны, и как их использовать не забывайте я новичок, опишите, чтоб все понятно было, разложите по полочкам теорию и + какой нибуть пример с хорошо прокоментированным кодом. Это сообщение отредактировал(а) Neuromancer - 1.9.2006, 12:19 |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Neuromancer, вступление мне понравилось
Все что ты просишь объснить --- очень подробно объяснено в книгах/учебниках по C#. Ты хочешь чтобы мы привели цытаты? Neuromancer, мой совет, возми любую книгу (лучше всего Троелсена), там все подробно об этом написано Ну либо если хочешь все сейчас: http://www.intuit.ru/department/pl/csharp/16/3.html |
|||
|
||||
| marcusmae |
|
||||||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
Попробую состроить из себя ivashkanet
Если речь идёт о свойствах-индексаторах, то на пальцах объяснил бы примерно так. Пусть есть объект, который ты хочешь запрограть в библиотеку, и этот объект изначально подразумевает множественность. Допустим... сороконожка
Таким образом, получается возможность скрыть от детей и беременных женщин твою живодёрскую манеру хранить ноги где-то там в отдельном массиве, и получить ногу можно будет только по этому свойству-индексатору :
В этом примере я попытался показать, что свойство-индексатор иногда способно увеличить удобство использования классов. Кроме этого, не следует забывать что это - свойство, то есть, помимо возврата элементов массива, можно выполнять ещё какие-нибудь скрытые действия :
Более того, массива, который скрывается за свойством в этих примерах, может вообще не быть! = То есть, со стороны свойство-индексатор представляет какие-то элементы, как массив, но на самом деле они хранятся как-то иначе. На жирафах пример придумать не сумел, но напиши дополнительно, если не понятно. Это сообщение отредактировал(а) marcusmae - 1.9.2006, 13:28 -------------------- ἀπὸ μηχανῆς θεός |
||||||
|
|||||||
| reloni |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 10.5.2006 Где: Москва Репутация: 3 Всего: 4 |
Индексаторы позволяют обращаться к полям твоего класса так же, как к массиву.
Тоже самое можно сделать для своего класса. class SimpleClass { private ArrayList _array = new ArrayList(); public SimpleClass() { this._array.Add("Москва"); this._array.Add("Санкт-Петербург"); this._array.Add("Калининград"); this._array.Add("Астана"); } // this означает, что это индексатор public string this[int index] { get { if (index < this._array.Count && index >= 0) { return this._array[index].ToString(); } else throw new Exception(); } } } public string this[int index] Данный индексатор принимает один параметр типа int (может принимать больше одного), а возвращает string, в нашем случае название города
Данный пример надуман, но как пример работы подходит я думаю ps если мне не изменяет память, то в Троелсене ничего про индексаторы нет, во всяком случае вспомнить не могу. Пока писал, уже опередили меня Это сообщение отредактировал(а) reloni - 1.9.2006, 13:05 |
||||
|
|||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
И причем тут настроение? Понятно причем У меня был только что митинг с заказчиком, вот я и злой на всех него Прошу меня простить. А с утра я действительно мог чё-нить толковое написать P.S. А по сути я прав. Neuromancer, вот если бы спросил так: "Я вот прочитал про индексаторы, но ничего не понял В общем, перед тем как спрашивать нужно было самому что-нить почитать P.P.S.
226 страница Это сообщение отредактировал(а) ivashkanet - 1.9.2006, 13:18 |
|||
|
||||
| reloni |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 10.5.2006 Где: Москва Репутация: 3 Всего: 4 |
||||
|
||||
| VisualProgrammerNET |
|
|||
![]() Почётный халявщик ![]() ![]() Профиль Группа: Участник Сообщений: 461 Регистрация: 30.10.2005 Где: Зеленоград Репутация: 4 Всего: 6 |
-------------------- 3 ГОДА НА |
|||
|
||||
| Neuromancer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 23.6.2006 Репутация: нет Всего: нет |
Спасибки всем огромное я читал "Шилдг Г.Полный справочник по С#" но не до конца все понял в индексаторах, хотел, чтоб вы своими словами получше объяснили
в следующий раз я буду поподробней писать, что я прочитал, и что я конкретно не понял (ой замучаю я вас своими вопросами что конкретнее вопрос не поставил, в следующем я все учту. Да кстати спасибки за книжечку скал "... то, что ты получаешь от общества, будет обществом в тебе и для тебя, так же как то, что ты даешь ему, будет твоим в обществе и для общества. Стремись получить от общества все, но не давай ему порабощать себя и не отдавайся ему полностью". М. де Унамуно жажда знаний, присущая всем людям, представляет собой неизлечимую болезнь. Человек смертен, человечество бессмертно; человек ограничен, человечество обладает способностью к бесконечному развитию. МИХОЭЛС С.М. ...Не имеет значения, что кто-либо говорит или делает... Т_ы_ с_а_м_ должен быть безупречным человеком... ...Нам требуется все наше время и вся наша энергия, чтобы победить идиотизм в себе. Это и есть то, что имеет значение. Остальное не имеет никакой важности... Дон Хуан (К. Кастанеда "Второе Кольцо силы") Это сообщение отредактировал(а) Neuromancer - 1.9.2006, 14:07 |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Не волнуйся, нас просто так не возьмешь Некоторых (меня в частности) бесит не глупые вопросы, это не страшно, а нежелание думать самому (к тебе это не относится Так что обращайся --- всегда рады помочь P.S. Всегда рады новым людям. Добро пожаловать. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |