пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Массивы и индексаторы в С#. Многомерные массивы. Свойства и использование свойств в C#.

Массив представляет набор однотипных переменных. Объявление массива похоже на объявление переменной за тем исключением, что после указания типа ставятся квадратные скобки:

тип_переменной[] название_массива;

Например, определим массив целых чисел:

int[] numbers;

После определения переменной массива мы можем присвоить ей определенное значение:

int[] nums = new int[4];

Здесь вначале мы объявили массив nums, который будет хранить данные типа int. Далее используя операцию new, мы выделили память для 4 элементов массива: new int[4]. Число 4 еще называется длиной массива. При таком определении все элементы получают значение по умолчанию, которое предусмотренно для их типа. Для типа int значение по умолчанию - 0.

Также мы сразу можем указать значения для этих элементов:

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

Для обращения к элементам массива используются индексы. Индекс представляет номер элемента в массиве, при этом нумерация начинается с нуля, поэтому индекс первого элемента будет равен 0. А чтобы обратиться к четвертому элементу в массиве, нам надо использовать индекс 3, к примеру: nums[3]. Используем индексы для получения и установки значений элементов массива:

int[] nums = new int[4];

nums[0] = 1;

nums[1] = 2;

nums[2] = 3;

nums[3] = 5;

И так как у нас массив определен только для 4 элементов, то мы не можем обратиться, например, к шестому элементу: nums[5] = 5;. Если мы так попытаемся сделать, то мы получим исключение IndexOutOfRangeException.

Массивы бывают многомерными. В предыдущих примерах мы создавали одномерные массивы, а теперь также создадим двухмерный:

int[] nums1 = new int[] { 0, 1, 2, 3, 4, 5 };

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

Индексатор позволяет использовать класс как массив, если говорить коротким и нонятным языком. Например у нас есть class MyArr {

int[] arr;

   public MyArr(int Size)

        {

            arr = new int[Size];

            // логика иммитации заполнения массива

        }

 

        // Создаем простейший индексатор

        public int this[int index]

        {

            set

            {

                arr[index] = value;

            }

 

            get

            {

                return arr[index];

            }

        }

    }

 

Этот кусочек кода позволяет использовать класс как индексатор массива, то есть:

MyArr arr1 = new MyArr(5);

Console.WriteLine(“”+arr1[0]);

Свойства. Свойства представляют собой некоторые характеристики объекта. Например у нас есть Кот со свойством цвета:

class Cat{

private string Color{get; set; }

}

Указание такого варианта get и set подразумевает собой наличие доступа как к установлению значения для свойства, так и для получения.

Cat.Color =  “green”.

 

 

 

 

 

 


11.01.2019; 17:01
хиты: 114
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь