1. Общий атрибут массива Длина возвращает количество элементов. LongLength используется, когда количество элементов превышает диапазон типа int. Rank возвращает размерность массива.
2. Класс Array является абстрактным классом и не может использовать конструктор для создания массива.
Но это можно сделать
просмотреть обычную копию в буфер обмена, распечатать?
Массив iArray = новый int[] {1, 2, 3, 4};
for (int i = 0; я <iArray.Length; i++)
{
Console.WriteLine(iArray.GetValue(i));
}
Массив iArray = новый int[] {1, 2, 3, 4};
for (int i = 0; я <iArray.Length; i++)
{
Console.WriteLine(iArray.GetValue(i));
}
Или используйте статический метод CreateInstance, особенно если тип элемента массива заранее неизвестен, вы можете определить массив следующим образом
Метод SetValue используется для установки, а метод GetValue — для чтения.
просмотреть обычную копию в буфер обмена, распечатать?
Массив массива = Array.CreateInstance(typeof(string), 3);
array.SetValue("Том", 0);
array.SetValue("Джек", 1);
array.SetValue("Билл", 2);
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array.GetValue(i));
}
Массив массива = Array.CreateInstance(typeof(string), 3);
array.SetValue("Том", 0);
array.SetValue("Джек", 1);
array.SetValue("Билл", 2);
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array.GetValue(i));
}
※Этот метод также можно использовать для создания многомерных массивов.
3. Чтобы скопировать массив, используйте метод Clone().
Если элементы массива имеют тип значения, будут скопированы все значения,
Если элемент массива является ссылочным типом, скопируйте ссылку
※ Если вам нужна глубокая копия массива, содержащего ссылочный тип, вам необходимо перебрать массив и создать новый объект.
Чтобы проиллюстрировать копирование ссылочных типов, см. следующий класс
просмотреть обычную копию в буфер обмена, распечатать?
общественный класс Человек
{
общественная строка FirstName {получить;
общественная строка LastName {получить;
public Person (строка FirstName, строка LastName)
{
//Если параметр имеет то же имя, что и член класса, используйте его для ссылки на член класса (лично не рекомендуется использовать его таким образом)
это.Имя = Имя;
this.LastName = Фамилия;
}
//Перепишем класс ToString
общедоступная строка переопределения ToString()
{
return string.Format("{0} {1}", FirstName, LastName);
}
}
классная программа
{
static void Main(string[] args)
{
Человек[] люди1 = новый Человек[2];
person1[0] = новый Person("Том", "Лин");
person1[1] = new Person("Джек", "Рейдер");
Person[] person2 = person1.Clone() как Person[];
person2[0].FirstName = "Копия 2";
//Вызов копирования исходного массива
Console.WriteLine(person1[0].FirstName);
//Результат — копия 2, а не Том. Видно, что метод Clone копирует только ссылку.
Консоль.Читать();
}
}
общественный класс Человек
{
общественная строка FirstName {получить;
общественная строка LastName {получить;
public Person (строка FirstName, строка LastName)
{
//Если параметр имеет то же имя, что и член класса, используйте его для ссылки на член класса (лично не рекомендуется использовать его таким образом)
это.Имя = Имя;
this.LastName = Фамилия;
}
//Перепишем класс ToString
общедоступная строка переопределения ToString()
{
return string.Format("{0} {1}", FirstName, LastName);
}
}
классная программа
{
static void Main(string[] args)
{
Человек[] люди1 = новый Человек[2];
person1[0] = новый Person("Том", "Лин");
person1[1] = new Person("Джек", "Рейдер");
Person[] person2 = person1.Clone() как Person[];
person2[0].FirstName = "Копия 2";
//Вызов копирования исходного массива
Console.WriteLine(person1[0].FirstName);
//Результат — копия 2, а не Том. Видно, что метод Clone копирует только ссылку.
Консоль.Читать();
}
}
3. Класс Array также реализует пузырьковую сортировку элементов массива — метод Sort.
Для простых массивов вы можете сортировать напрямую
Array.Sort(iArray); где iArray — массив целых чисел
-