Реализация в C# массивов в виде объектов дает целый ряд преимуществ. Одно из них заключается в том, что с каждым массивом связано свойство Length, содержащее число элементов, из которых может состоять массив. Следовательно, у каждого массива имеется специальное свойство, позволяющее определить его длину. Ниже приведен пример программы, в которой демонстрируется это свойство.
//Использовать свойство Length массива.
using System;
class LengthDemo
{
static void Main()
{
int[] nums = new int[10];
Console.WriteLine("Длина массива nums равна " + nums.Length);
for (int i = 0; i < nums.Length; i++)
nums[i] = i * i;
Console.Write("Содержимое массива nums: ");
for (int i = 0; i < nums.Length; i++)
Console.Write(nums[i] + " ");
Console.WriteLine();
}
}
Когда запрашивается длина многомерного массива, то возвращается общее число элементов, из которых может состоять массив, как в приведенном ниже примере кода.
//Использовать свойство Length трехмерного массива.
using System;
class LengthDemo3D
{
static void Main()
{
int[,,] nums = new int[10, 5, 6];
Console.WriteLine("Длина массива равна " + nums.Length);
}
}
Как подтверждает приведенный выше результат, свойство Length содержит число элементов, из которых может состоять массив (в данном случае — 300 (10×5×6) элементов). Тем не менее свойство Length нельзя использовать для определения длины массива в отдельном его измерении.
|
|
//поменять местами содержимое элементов массива,
//скопировав их в обратном порядке в другой массив.
using System;
class RevCopy
{
static void Main()
{
int i, j;
int[] nums1 = new int[10];
int[] nums2 = new int[10];
for (i = 0; i < nums1.Length; i++) nums1[i] = i;
Console.Write("Исходное содержимое массива: ");
for (i = 0; i < nums1.Length; i++) Console.Write(nums1[i] + " ");
Console.WriteLine();
//скопировать элементы массива nums1 в массив nums2 в обратном порядке.
if (nums2.Length >= nums1.Length)
for (i = 0, j = nums1.Length - 1; i < nums1.Length; i++, j--)
nums2[j] = nums1[i];
Console.Write("Содержимое массива в обратном порядке: ");
for (i = 0; i < nums2.Length; i++)
Console.Write(nums2[i] + " ");
Console.WriteLine();
}
}