Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharp_Prog_Guide.doc
Скачиваний:
18
Добавлен:
16.11.2019
Размер:
6.22 Mб
Скачать

Массивы

Массив — это структура данных, содержащая несколько переменных одного типа. Массивы объявляются со следующим типом.

type[] arrayName;

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

--

Общие сведения о массивах

Массив имеет следующие свойства.

  • Массив может быть одномерным, многомерным или массивом массивов.

  • Значение по умолчанию числовых элементов массива задано равным нулю, а элементы ссылок имеют значение NULL.

  • Невыровненный массив является массивом массивов и поэтому его элементы являются ссылочными типами и инициализируются значением null.

  • Индексация массивов начинается с нуля: массив с n элементами индексируется от 0 до n-1.

  • Элементы массива могут быть любых типов, включая тип массива.

  • Типы массива являются ссылочными типами, производными от абстрактного базового типа Array. Поскольку этот тип реализует IEnumerable и IEnumerable<(Of <(T>)>), в C# во всех массивах можно использовать итерацию foreach.

Arrays as Objects

In C#, arrays are actually objects, and not just addressable regions of contiguous memory as in C and C++. Array is the abstract base type of all array types. You can use the properties, and other class members, that Array has. An example of this would be using the Length property to get the length of an array. The following code assigns the length of the numbers array, which is 5, to a variable called lengthOfNumbers:

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

int lengthOfNumbers = numbers.Length;

The System.Array class provides many other useful methods and properties for sorting, searching, and copying arrays.

Example

This example uses the Rank property to display the number of dimensions of an array.

class TestArraysClass

{

static void Main()

{

// Declare and initialize an array:

int[,] theArray = new int[5, 10];

System.Console.WriteLine("The array has {0} dimensions.", theArray.Rank);

}

}

Output

The array has 2 dimensions.

Массивы как объекты

В языке C# массивы являются объектами, а не просто смежными адресуемыми областями памяти, как в C и C++. Array является абстрактным базовым типом для всех типов массивов. Можно использовать свойства и другие члены класса, которые имеет Array. В примере используется свойство Length для получения длины массива. В следующем коде длина массива numbers, равная 5, присваивается переменной lengthOfNumbers:

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

int lengthOfNumbers = numbers.Length;

Класс System.Array позволяет использовать много других полезных методов и свойств для выполнения сортировки, поиска и копирования массивов.

Пример

В этом примере свойство Rank используется для отображения числа измерений массива.

class TestArraysClass

{

static void Main()

{

// Declare and initialize an array:

int[,] theArray = new int[5, 10];

System.Console.WriteLine("The array has {0} dimensions.", theArray.Rank);

}

}