Методы массивов
Часть раздела Основы путешествия по C# на Coddy — урок 58 из 69.
Массивы снабжены множеством методов (функциональных возможностей). Чтобы получить доступ к методу, напишите:
Array.MethodName(arrayName, otherParameters)Основные методы массивов:
Clear(array, index, length) - очищает элементы массива, устанавливая диапазон элементов в значение ноль, false или null:
int[] numbers = {1, 2, 3, 4, 5};
Array.Clear(numbers, 1, 3);
// numbers будет {1, 0, 0, 0, 5}Reverse(array) — меняет порядок элементов в массиве на обратный:
int[] numbers = {1, 2, 3, 4, 5};
Array.Reverse(numbers);
// numbers будет {5, 4, 3, 2, 1}Sort(array) — сортирует элементы массива в порядке возрастания:
int[] numbers = {5, 2, 9, 1, 5, 6};
Array.Sort(numbers);
// numbers будет {1, 2, 5, 5, 6, 9}Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length) — копирует диапазон элементов из одного массива в другой:
int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[5];
Array.Copy(source, 0, destination, 0, 5);
// destination будет {1, 2, 3, 4, 5}Пример с различными позициями:
int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[7];
Array.Copy(source, 1, destination, 2, 3);
// destination будет {0, 0, 2, 3, 4, 0, 0}
// Скопированы элементы 2, 3, 4 из source, начиная с индекса 1
// Размещены в destination, начиная с индекса 2Задание
ЛегкоСоздайте метод с именем Merge, который принимает два массива в качестве аргументов. Метод объединяет два массива в один отсортированный массив и возвращает его.
Например, следующие аргументы: Merge(new string[] {"1", “4”, “2”}, new string[] {"2", “5”, “9”}) вернут ["1", “2”, “2”, “4”, “5”, “9”]
Используйте Array.Copy() для копирования элементов из одного массива в другой. Синтаксис следующий:
Array.Copy(sourceArray, sourceStartPosition, destinationArray, destinationStartPosition, length)Например:
// Исходный массив
string[] sourceArray = {"1", "2", "3", "4", "5"};
// Целевой массив
string[] destinationArray = new string[5];
// Копирование элементов из sourceArray в destinationArray
Array.Copy(sourceArray, 0, destinationArray, 0, 5);Целевой массив после копирования: 1 2 3 4 5
Шпаргалка
Массивы имеют встроенные методы, доступ к которым осуществляется с помощью синтаксиса Array.MethodName():
Clear(array, index, length)— устанавливает элементы в значение ноль, false или nullReverse(array)— меняет порядок элементов на обратныйSort(array)— сортирует элементы в порядке возрастанияCopy(sourceArray, sourceIndex, destinationArray, destinationIndex, length)— копирует элементы между массивами
Примеры:
int[] numbers = {1, 2, 3, 4, 5};
Array.Clear(numbers, 1, 3);
// numbers будет {1, 0, 0, 0, 5}int[] numbers = {1, 2, 3, 4, 5};
Array.Reverse(numbers);
// numbers будет {5, 4, 3, 2, 1}int[] numbers = {5, 2, 9, 1, 5, 6};
Array.Sort(numbers);
// numbers будет {1, 2, 5, 5, 6, 9}int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[5];
Array.Copy(source, 0, destination, 0, 5);
// destination будет {1, 2, 3, 4, 5}Попробуйте сами
using System;
public class Program {
public static string[] Merge(string[] arr1, string[] arr2) {
// Напишите код здесь
}
public static void Main(string[] args) {
string textArr1 = Console.ReadLine();
string textArr2 = Console.ReadLine();
string[] arr1 = textArr1.Split(",");
string[] arr2 = textArr2.Split(",");
string[] mergedArray = Merge(arr1, arr2);
Console.WriteLine(string.Join(", ", mergedArray));
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент и декрементПостфиксный инкремент и декрементСокращенные арифметические операции7Основы ввода-вывода
Базовый выводИнтерполяция строкЧтение вводаПарсингПовторение — до 120Повторение — True или False5Операторы. Часть 2
Операторы сравненияЛогические операторы. Часть 1Логические операторы. Часть 2Повторение: простая логикаЛогические операторы. Часть 38Приложение-калькулятор
Приветственное сообщениеПолучение чисел3Переменные. Часть 2
VarКонстантыСоглашения об именованииПовторение: инициализация переменныхПриведение типов6Принятие решений
Оператор ifКонструкция if - elseОператор switchТернарный операторПовторение: if - elseВложенный if - else