Урок 6. Массивы в C#
Сайт создан в системе uCoz
Меню сайта


Поиск по сайту
Loading


Форма входа


Помощь проекту

PayPal:

LiqPay or Credit/Debit Card:

W1 "Единый кошелек":
199990419310
WebMoney:
WME - E509190786817
WMZ - Z195499640086
WMU - U204403357554
WMR - R280087882619




Активные темы

  • Все вопросы касающиеся Neil Scope (7126)
  • инвертор на микропроцессоре с 12\220v с синусом на выходе (3)
  • Предложения по работе сайта и форума (18)
  • Изготовление ПП (7)
  • NeiLogicAnalyzer (48)
  • Двухполярный линейный БП с управлением на МК (91)
  • Заказ плат под NeilScope3 (12.2015) (60)
  • Первое знакомство с микроконтроллерами Silabs (105)
  • Куплю плату NS-3 (0)
  • Подскажите (0)



  • Статистика

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



    Рекомендуемые браузеры: Mozzilla, Google Chrome






    Приветствую Вас, Пробегающий мимо · RSS 18.04.2024, 21:10

    Основы C#. Урок 6. Массивы в C#

    Массивы в C# несколько отличаются от других C-подобных языков. Начнем сразу с примеров. Пример первый:

     ...
     int[] k; //k - массив
     k=new int [3]; //Определяем массив из 3-х целых
     k[0]=-5; k[1]=4; k[2]=55; //Задаем элементы массива
     //Выводим третий элемент массива
     Console.WriteLine(k[2].ToString());
     ...

    Смысл приведенного фрагмента ясен из комментариев. Обратите внимание на некоторые особенности. Во-первых, массив определяется именно как

    int[] k;

    а не как один из следующих вариантов:

    int k[]; //Неверно!
    int k[3]; //Неверно!
    int[3] k; //Неверно!

    Во-вторых, так как массив представляет из себя ссылочный объект, то для создания массива необходима строка

    k=new int [3];

    Именно в ней мы и определяем размер массива. Хотя, вообще говоря, возможны конструкции вида

    int[] k = new int [3];

    Элементы массива можно задавать сразу при объявлении. Вот пример:

    int[] k = {-5, 4, 55};

    Разумеется, приведенные конструкции применимы не только к типу int и не только к массиву размера 3.

    В C#, как и в C/C++, нумерация элементов массива идет с нуля. Таким образом в нашем примере начальный элемент массива - это k[0], а последний - k[2]. Элемента k[3], разумеется, нет.

    Теперь переходим к многомерным массивам. Вот так задается двумерный массив:

    int[,] k = new int [2,3];

    Обратите внимение, что пара квадратных скобок только одна. Естественно, что в нашем примере у массива 6 (=2*3) элементов (k[0,0] - первый, k[1,2] - последний).

    Аналогично мы можем задавать многомерные массивы. Вот пример трехмерного массива:

    int[,,] k = new int [10,10,10];

    А вот так можно сразу инициализировать многомерные массивы:

    int[,] k = {{2,-2},{3,-22},{0,4}};

    Приведенные выше примеры многомерных массивов называются прямоугольными. Если их представить в виде таблицы (в двумерном случае), то массив будет представлять из себя прямоугольник.

    Наряду с прямоугольными массивами существуют так называемые ступенчатые. Вот пример:

     //Объявляем 2-мерный ступенчатый массив
     int[][] k = new int [2][];
     //Объявляем 0-й элемент нашего ступенчатого массива
     //Это опять массив и в нем 3 элемента
     k[0]=new int[3];
     //Объявляем 1-й элемент нашего ступенчатого массива
     //Это опять массив и в нем 4 элемента
     k[1]=new int[4];
     k[1][3]=22; //записываем 22 в последний элемент массива
     ...

    Обратите внимание, что у ступенчатых массивов мы задаем несколько пар квадратных скобок (столько, сколько размерность у массива). И точно так же мы что-нибудь делаем с элементами массива - записываем, читаем и т. п.

    Самая важная и интересная возможность у ступенчатых массивов - это их "непрямоугольность". Так, в приведенном выше примере в первой "строке" массива k три целых числа, а во второй - четыре. Часто это оказывается очень к месту.