Подобно на други езици за програмиране, масивът в C# е група от подобни типове елементи, които имат непрекъснато местоположение в паметта. В C# масивът е an обект от базов тип System.Array . В C# индексът на масива започва от 0. Можем да съхраняваме само фиксиран набор от елементи в C# масив.
Предимства на C# Array
- Оптимизация на кода (по-малко код)
- Произволен достъп
- Лесни за преминаване към данни
- Лесни за манипулиране данни
- Лесно сортиране на данни и др.
Недостатъци на C# Array
- Фиксиран размер
C# типове масиви
В програмирането на C# има 3 вида масиви:
- Едномерен масив
- Многомерен масив
- Назъбен масив
C# едномерен масив
За да създадете едномерен масив, трябва да използвате квадратни скоби [] след типа.
int[] arr = new int[5];//creating array
Не можете да поставяте квадратни скоби след идентификатора.
карта на машинопис
int arr[] = new int[5];//compile time error
Нека видим прост пример за C# масив, където ще декларираме, инициализираме и обхождаме масива.
using System; public class ArrayExample { public static void Main(string[] args) { int[] arr = new int[5];//creating array arr[0] = 10;//initializing array arr[2] = 20; arr[4] = 30; //traversing array for (int i = 0; i <arr.length; i++) { console.writeline(arr[i]); } < pre> <p>Output:</p> <pre> 10 0 20 0 30 </pre> <h3>C# Array Example: Declaration and Initialization at same time</h3> <p>There are 3 ways to initialize array at the time of declaration.</p> <pre> int[] arr = new int[5]{ 10, 20, 30, 40, 50 }; </pre> <p>We can omit the size of array.</p> <pre> int[] arr = new int[]{ 10, 20, 30, 40, 50 }; </pre> <p>We can omit the new operator also.</p> <pre> int[] arr = { 10, 20, 30, 40, 50 }; </pre> <p>Let's see the example of array where we are declaring and initializing array at the same time.</p> <pre> using System; public class ArrayExample { public static void Main(string[] args) { int[] arr = { 10, 20, 30, 40, 50 };//Declaration and Initialization of array //traversing array for (int i = 0; i <arr.length; i++) { console.writeline(arr[i]); } < pre> <p>Output:</p> <pre> 10 20 30 40 50 </pre> <h3>C# Array Example: Traversal using foreach loop</h3> <p>We can also traverse the array elements using foreach loop. It returns array element one by one.</p> <pre> using System; public class ArrayExample { public static void Main(string[] args) { int[] arr = { 10, 20, 30, 40, 50 };//creating and initializing array //traversing array foreach (int i in arr) { Console.WriteLine(i); } } } </pre> <p>Output:</p> <pre> 10 20 30 40 50 </pre></arr.length;></pre></arr.length;>
Пример за C# масив: Декларация и инициализация едновременно
Има 3 начина за инициализиране на масива по време на декларирането.
int[] arr = new int[5]{ 10, 20, 30, 40, 50 };
Можем да пропуснем размера на масива.
int[] arr = new int[]{ 10, 20, 30, 40, 50 };
Можем да пропуснем и новия оператор.
int[] arr = { 10, 20, 30, 40, 50 };
Нека да видим примера за масив, където декларираме и инициализираме масив едновременно.
using System; public class ArrayExample { public static void Main(string[] args) { int[] arr = { 10, 20, 30, 40, 50 };//Declaration and Initialization of array //traversing array for (int i = 0; i <arr.length; i++) { console.writeline(arr[i]); } < pre> <p>Output:</p> <pre> 10 20 30 40 50 </pre> <h3>C# Array Example: Traversal using foreach loop</h3> <p>We can also traverse the array elements using foreach loop. It returns array element one by one.</p> <pre> using System; public class ArrayExample { public static void Main(string[] args) { int[] arr = { 10, 20, 30, 40, 50 };//creating and initializing array //traversing array foreach (int i in arr) { Console.WriteLine(i); } } } </pre> <p>Output:</p> <pre> 10 20 30 40 50 </pre></arr.length;>
Пример за масив на C#: Обхождане с помощта на цикъл foreach
Можем също да обхождаме елементите на масива, като използваме цикъл foreach. Връща елемент от масива един по един.
using System; public class ArrayExample { public static void Main(string[] args) { int[] arr = { 10, 20, 30, 40, 50 };//creating and initializing array //traversing array foreach (int i in arr) { Console.WriteLine(i); } } }
Изход:
10 20 30 40 50