Читаем Язык программирования C#9 и платформа .NET5 полностью

  // Здесь мы имеем массив из 5 разных массивов.

  int[][] myJagArray = new int[5][];

  // Создать зубчатый массив.

  for (int i = 0; i < myJagArray.Length; i++)

  {

    myJagArray[i] = new int[i + 7];

  }

  // Вывести все строки (помните, что каждый элемент имеет

  // стандартное значение 0).

  for(int i = 0; i < 5; i++)

  {

    for(int j = 0; j < myJagArray[i].Length; j++)

    {

      Console.Write(myJagArray[i][j] + " ");

    }

    Console.WriteLine;

  }

  Console.WriteLine;

}

Ниже показан вывод, полученный в результате вызова методов RectMultidimensionalArray и JaggedMultidimensionalArray:

=> Rectangular multidimensional array:

0       0       0       0

0       1       2       3

0       2       4       6

=> Jagged multidimensional array:

0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0

<p id="AutBody_Root145">Использование массивов в качестве аргументов и возвращаемых значений</p>

После создания массив можно передавать как аргумент или получать его в виде возвращаемого значения. Например, приведенный ниже метод PrintArray принимает входной массив значений int и выводит все его элементы на консоль, а метод GetStringArray заполняет массив значений string и возвращает его вызывающему коду:

static void PrintArray(int[] myInts)

{

  for(int i = 0; i < myInts.Length; i++)

  {

    Console.WriteLine("Item {0} is {1}", i, myInts[i]);

  }

}

static string[] GetStringArray

{

  string[] theStrings = {"Hello", "from", "GetStringArray"};

  return theStrings;

}

Указанные методы вызываются вполне ожидаемо:

static void PassAndReceiveArrays

{

  Console.WriteLine("=> Arrays as params and return values.");

  // Передать массив в качестве параметра.

  int[] ages = {20, 22, 23, 0} ;

  PrintArray(ages);

  // Получить массив как возвращаемое значение.

  string[] strs = GetStringArray;

  foreach(string s in strs)

  {

    Console.WriteLine(s);

  }

  Console.WriteLine;

}

К настоящему моменту вы должны освоить процесс определения, заполнения и исследования содержимого переменной типа массива С#. Для полноты картины давайте проанализируем роль класса System.Array.

<p id="AutBody_Root146">Использование базового класса System.Array</p>

Каждый создаваемый массив получает значительную часть своей функциональности от класса System.Array. Общие члены этого класса позволяют работать с массивом, применяя согласованную объектную модель. В табл. 4.1 приведено краткое описание наиболее интересных членов класса System.Array (полное описание всех его членов можно найти в документации).

Давайте посмотрим на некоторые из членов в действии. Показанный далее вспомогательный метод использует статические методы Reverse и Clear для вывода на консоль информации о массиве строковых типов:

static void SystemArrayFunctionality

{

  Console.WriteLine("=> Working with System.Array.");

  // Инициализировать элементы при запуске.

  string[] gothicBands = {"Tones on Tail", "Bauhaus", "Sisters of Mercy"};

  // Вывести имена в порядке их объявления.

  Console.WriteLine("-> Here is the array:");

  for (int i = 0; i < gothicBands.Length; i++)

  {

    // Вывести имя.

    Console.Write(gothicBands[i] + ", ");

  }

  Console.WriteLine("\n");

  // Обратить порядок следования элементов...

  Array.Reverse(gothicBands);

  Console.WriteLine("-> The reversed array");

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT