Герберт Шилдт - C# 4.0 полное руководство - 2011

Здесь есть возможность читать онлайн «Герберт Шилдт - C# 4.0 полное руководство - 2011» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Старинная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

C# 4.0 полное руководство - 2011: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «C# 4.0 полное руководство - 2011»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

C# 4.0 полное руководство - 2011 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «C# 4.0 полное руководство - 2011», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

где размер обозначает число строк в массиве. Память для самих строк распределяется индивидуально, и поэтому длина строк может быть разной. Например, в приведенном ниже фрагменте кода объявляется ступенчатый массив j agged. Память сначала распределяется для его первого измерения автоматически, а затем для второго измерения вручную.

int[][] jagged = new int[3][]; jagged[0] = new int [4]; jagged[1] = new int[3]; jagged[2] = new int[5];

После выполнения этого фрагмента кода массив j agged выглядит так, как показано ниже.

Теперь нетрудно понять почему такие массивы называются ступенчатыми После - фото 15

Теперь нетрудно понять, почему такие массивы называются ступенчатыми! После создания ступенчатого массива доступ к его элементам осуществляется по индексу, указываемому в отдельных квадратных скобках. Например, в следующей строке кода элементу массива j agged, находящемуся на позиции с координатами (2 ,1 ), присваивается значение10 .

j agged[2] [1] = 10;

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

В приведенном ниже примере программы демонстрируется создание двумерного ступенчатого массива.

// Продемонстрировать применение ступенчатых массивов.

using System;

class Jagged {

static void Main() {

int[][] jagged = new int[3][]; jagged[0] = new int[4]; jagged[1] = new int[3]; jagged[2] = new int[5];

int ъ;

// Сохранить значения в первом массиве. for(i=0; i < 4; i++) jagged[0] [i] = i;

// Сохранить значения во втором массиве. for(i=0; i < 3; i++) jagged[1][i] = i;

// Сохранить значения в третьем массиве. for(i=0; i < 5; i++) jagged[2][i] = i;

// Вывести значения из первого массива. for(i=0; i < 4; i++)

Console.Write(jagged[0] [i] + " ") ;

Console.WriteLine();

// Вывести значения из второго массива, for (i=0; i < 3; i++)

Console.Write(jagged[1][i] + " ");

Console.WriteLine() ;

// Вывести значения из третьего массива. for(i=0; i < 5; i++)

Console.Write(jagged[2] [i] + " ") ;

Console.WriteLine() ;

}

}

Выполнение этой программы приводит к следующему результату.

0 12 3

0 12

0 12 3 4

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

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

int[] [,] j agged = new int [ 3] [,];

В следующей строке кода элементу массива j agged [ 0 ] присваивается ссылка на массив размерами 4><2.

jagged[0] = new int [4, 2];

А в приведенной ниже строке кода элементу массива j agged [ 0 ] [1,0] присваивается значение переменной i.

jagged[0][1,0] = i;

Присваивание ссылок на массивы

Присваивание значения одной переменной ссылки на массив другой переменной, по существу, означает, что обе переменные ссылаются на один и тот же массив,

и в этом отношении массивы ничем не отличаются от любых других объектов. Такое присваивание не приводит ни к созданию копии массива, ни к копированию содержимого одного массива в другой. В качестве примера рассмотрим следующую программу.

// Присваивание ссылок на массивы.

using System;

class AssignARef { static void Main() { int i;

int[] numsl = new int [10]; int[] nums2 = new int [10];

for(i=0; i < 10; i++) numsl[i] = i;

for(i=0; i < 10; i++) nums2[i] = -i;

Console.Write("Содержимое массива numsl: "); for(i=0; i < 10; i++)

Console.Write(numsl[i] + " ");

Console.WriteLine() ;

Console.Write("Содержимое массива nums2: "); for(i=0; i < 10; i++)

Console.Write(nums2[i] + " ") ;

Console.WriteLine() ;

nums2 = numsl; // теперь nums2 ссылается на numsl

Console.Write("Содержимое массива nums2\n" + "после присваивания: "); for(i=0; i < 10; i++)

Console.Write(nums2[i] + " ") ;

Console.WriteLine() ;

// Далее оперировать массивом numsl посредством // переменной ссылки на массив nums2. nums2[3] = 99;

Console.Write("Содержимое массива numsl после изменения\п" + "посредством переменной nums2: "); for (i=0; i < 10; i++)

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «C# 4.0 полное руководство - 2011»

Представляем Вашему вниманию похожие книги на «C# 4.0 полное руководство - 2011» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «C# 4.0 полное руководство - 2011»

Обсуждение, отзывы о книге «C# 4.0 полное руководство - 2011» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x