Yurijnd.com
Четверг, 06.02.2025, 20:46
Меню сайта

Вход на сайт

Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Индексаторы (Руководство по программированию в C#)

    Visual Studio 2013
     

    Индексаторы позволяют индексировать экземпляры класса или структуры так же, как массивы. Индексаторы напоминаютсвойства, но их методы доступа принимают параметры.

    В следующем примере определяется универсальный класс и в качестве средств присвоения и извлечения значений создаются простые методы доступа get и set. Класс Program создает экземпляр этого класса для хранения строк.

     
    class SampleCollection<T>
    {
     // Declare an array to store the data elements. 
     private T[] arr = new T[100];
    
     // Define the indexer, which will allow client code 
     // to use [] notation on the class instance itself. 
     // (See line 2 of code in Main below.)  
     public T this[int i]
     {
     get
     {
     // This indexer is very simple, and just returns or sets 
     // the corresponding element from the internal array. 
     return arr[i];
     }
     set
     {
     arr[i] = value;
     }
     }
    }
    
    // This class shows how client code uses the indexer. 
    class Program
    {
     static void Main(string[] args)
     {
     // Declare an instance of the SampleCollection type.
     SampleCollection<string> stringCollection = new SampleCollection<string>();
    
     // Use [] notation on the type.
     stringCollection[0] = "Hello, World";
     System.Console.WriteLine(stringCollection[0]);
     }
    }
    // Output: 
    // Hello, World.
    
    Примечание Примечание

    Дополнительные примеры см. в разделе Связанные разделы.

    Общие сведения об индексаторах

     
    • Индексаторы позволяют индексировать объекты аналогично массивам.

    • Метод доступа get возвращает значение. Метод доступа set присваивает значение.

    • Ключевое слово this используется для определения индексаторов.

    • Ключевое слово value используется для определения значения, присваиваемого методом set индексатора.

    • Индексаторы не обязаны использовать в качестве индекса целочисленное значение; конкретный механизм поиска определяет разработчик.

    • Индексаторы можно перегружать.

    • Индексаторы могут иметь более одного формального параметра, например при доступе к двухмерному массиву.

    Copyright MyCorp © 2025
    Сделать бесплатный сайт с uCoz