С# Массивы
Массивы C#
В этом уроке мы узнаем о массивах C#. Мы научимся создавать, инициализировать и обращаться к массиву с помощью примеров.
Массив – это набор данных похожих типов. Например,
Допустим, нам нужно записать возраст 5 учеников. Вместо создания 5 отдельных переменных мы можем просто создать массив:
<рисунок> <час>1. Объявление массива C#
Вот как мы можем объявить массив в C#.
datatype[] arrayName;
Здесь
dataType
- тип данных, напримерint
,string
,char
и т. д.arrayName
- это идентификатор
Давайте посмотрим на пример,
int[] age;
Здесь мы создали массив с именем age. . Он может хранить элементы int
тип.
Но сколько элементов он может хранить?
Чтобы определить количество элементов, которые может содержать массив, мы должны выделить память для массива в C#. Например,
// declare an array
int[] age;
// allocate memory for array
age = new int[5];
Здесь new int[5]
означает, что массив может хранить 5 элементов. Мы также можем сказать, что размер/длина массива равна 5.
Примечание :мы также можем объявить и выделить память массива в одной строке. Например,
int[] age = new int[5];
<час> 2. Инициализация массива в C#
В C# мы можем инициализировать массив во время объявления. Например,
int [] numbers = {1, 2, 3, 4, 5};
Здесь мы создали массив с именем numbers и инициализировали его значениями 1. , 2 , 3 , 4 и 5 внутри фигурных скобок.
Обратите внимание, что мы не указали размер массива. В этом случае C# автоматически указывает размер, подсчитывая количество элементов в массиве (т. е. 5).
В массиве мы используем номер индекса. для определения позиции каждого элемента массива. Мы можем использовать номер индекса для инициализации массива в C#. Например,
// declare an array
int[] age = new int[5];
//initializing array
age[0] = 12;
age[1] = 4;
age[2] = 5;
...
<рисунок> Примечание :
- Индекс массива всегда начинается с 0. То есть первый элемент массива имеет индекс 0.
- Если размер массива равен 5, индекс последнего элемента будет равен 4 (5 - 1).
3. Доступ к элементам массива
Мы можем получить доступ к элементам в массиве, используя индекс массива. Например,
// access element at index 2
array[2];
// access element at index 4
array[4];
Здесь
array[2]
- доступ к 3-му элементуarray[4]
- доступ к 5-му элементу
Пример:массив C#
using System;
namespace AccessArray {
class Program {
static void Main(string[] args) {
// create an array
int[] numbers = {1, 2, 3};
//access first element
Console.WriteLine("Element in first index : " + numbers[0]);
//access second element
Console.WriteLine("Element in second index : " + numbers[1]);
//access third element
Console.WriteLine("Element in third index : " + numbers[2]);
Console.ReadLine();
}
}
}
Вывод
Element in first index : 1 Element in second index : 2 Element in third index : 3
В приведенном выше примере мы создали массив с именем numbers. с элементами 1, 2, 3 . Здесь мы используем номер индекса для доступа к элементам массива.
numbers[0]
- доступ к первому элементу, 1numbers[1]
- доступ ко второму элементу, 2numbers[3]
- доступ к третьему элементу, 3
4. Изменить элементы массива
Мы также можем изменить элементы массива. Чтобы изменить элемент, мы просто присваиваем новое значение этому конкретному индексу. Например,
using System;
namespace ChangeArray {
class Program {
static void Main(string[] args) {
// create an array
int[] numbers = {1, 2, 3};
Console.WriteLine("Old Value at index 0: " + numbers[0]);
// change the value at index 0
numbers[0] = 11;
//print new value
Console.WriteLine("New Value at index 0: " + numbers[0]);
Console.ReadLine();
}
}
}
Вывод
Old Value at index 0: 1 New Value at index 0: 11
В приведенном выше примере начальное значение с индексом 0 равно 1. Обратите внимание на строку
//change the value at index 0
numbers[0] = 11;
Здесь мы присваиваем новое значение 11. на индекс 0. Теперь значение индекса 0 изменено с 1 до 11 .
<час>5. Итерация массива C# с использованием циклов
В C# мы можем использовать циклы для перебора каждого элемента массива. Например,
Пример:использование цикла for
using System;
namespace AccessArrayFor {
class Program {
static void Main(string[] args) {
int[] numbers = { 1, 2, 3};
for(int i=0; i < numbers.Length; i++) {
Console.WriteLine("Element in index " + i + ": " + numbers[i]);
}
Console.ReadLine();
}
}
}
Вывод
Element in index 0: 1 Element in index 1: 2 Element in index 2: 3
В приведенном выше примере мы использовали цикл for для перебора элементов массива numbers. . Обратите внимание на строку,
numbers.Length
Здесь Length
свойство массива дает размер массива.
Мы также можем использовать цикл foreach для перебора элементов массива. Например,
Пример:использование цикла foreach
using System;
namespace AccessArrayForeach {
class Program {
static void Main(string[] args) {
int[] numbers = {1, 2, 3};
Console.WriteLine("Array Elements: ");
foreach(int num in numbers) {
Console.WriteLine(num);
}
Console.ReadLine();
}
}
}
Вывод
Array Elements: 1 2 3<час>
6. Операции с массивами C# с использованием System.Linq
В C# у нас есть System.Linq
пространство имен, предоставляющее различные методы для выполнения различных операций в массиве. Например,
Пример:найти минимальный и максимальный элемент
using System;
// provides us various methods to use in an array
using System.Linq;
namespace ArrayMinMax {
class Program {
static void Main(string[] args) {
int[] numbers = {51, 1, 3, 4, 98};
// get the minimum element
Console.WriteLine("Smallest Element: " + numbers.Min());
// Max() returns the largest number in array
Console.WriteLine("Largest Element: " + numbers.Max());
Console.ReadLine();
}
}
}
Вывод
Smallest Element: 1 Largest Element: 98
В приведенном выше примере
numbers.Min()
- возвращает наименьшее число в массиве, 1numbers.Max()
- возвращает наибольшее число в массиве, 98
Пример. Найдите среднее значение массива
using System;
// provides us various methods to use in an array
using System.Linq;
namespace ArrayFunction {
class Program {
static void Main(string[] args) {
int[] numbers = {30, 31, 94, 86, 55};
// get the sum of all array elements
float sum = numbers.Sum();
// get the total number of elements present in the array
int count = numbers.Count();
float average = sum/count;
Console.WriteLine("Average : " + average);
// compute the average
Console.WriteLine("Average using Average() : " + numbers.Average());
Console.ReadLine();
}
}
}
Вывод
Average : 59.2 Average using Average() : 59.2
В приведенном выше примере мы использовали
numbers.Sum()
чтобы получить сумму всех элементов массиваnumbers.Count()
чтобы получить общее количество элементов внутри массива
Затем мы делим сумму на количество, чтобы получить среднее значение.
float average = sum / count;
Здесь мы также использовали numbers.Average()
метод System.Linq
пространство имен, чтобы получить среднее значение напрямую.
Примечание :обязательно использовать System.Linq
пространство имен при использовании Min()
, Max()
, Sum()
, Count()
и Average()
методы.
Язык C
- Зубчатый массив С#
- Передача массива в функцию в программировании на C++
- Передать массивы функции в C
- Связь между массивами и указателями
- Массивы копирования Java
- Массивы в C++ | Объявить | Инициализировать | Указатель на примеры массивов
- C++ динамическое выделение массивов с примером
- Учебное пособие по массивам Java:объявление, создание, инициализация [пример]
- MATLAB — Массивы
- Полное руководство по массивам Ball Grid