Tako kot drugi programski jeziki je array v C# skupina podobnih vrst elementov, ki imajo sosednjo pomnilniško lokacijo. V C# je matrika predmet osnovnega tipa System.Array . V C# se indeks matrike začne od 0. V matriko C# lahko shranimo samo fiksno množico elementov.
Prednosti C# Array
- Optimizacija kode (manj kode)
- Naključni dostop
- Enostaven pregled podatkov
- S podatki je enostavno manipulirati
- Enostavno razvrščanje podatkov itd.
Slabosti C# Array
- Fiksna velikost
Vrste nizov C#
V programiranju C# obstajajo 3 vrste nizov:
- Enodimenzionalni niz
- Večdimenzionalni niz
- Jagged Array
C# enodimenzionalna matrika
Če želite ustvariti enodimenzionalno matriko, morate za tipom uporabiti oglate oklepaje [].
int[] arr = new int[5];//creating array
Za identifikatorjem ne morete postaviti oglatih oklepajev.
prečkanje binarnega drevesa po pošti
int arr[] = new int[5];//compile time error
Oglejmo si preprost primer matrike C#, kjer bomo deklarirali, inicializirali in prečkali matriko.
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;>
Primer polja C#: deklaracija in inicializacija hkrati
Obstajajo 3 načini za inicializacijo matrike v času deklaracije.
int[] arr = new int[5]{ 10, 20, 30, 40, 50 };
Velikost niza lahko izpustimo.
int[] arr = new int[]{ 10, 20, 30, 40, 50 };
Novi operator lahko tudi izpustimo.
int[] arr = { 10, 20, 30, 40, 50 };
Oglejmo si primer matrike, kjer istočasno deklariramo in inicializiramo matriko.
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;>
Primer polja C#: prečkanje z uporabo zanke foreach
Elemente matrike lahko prečkamo tudi z uporabo zanke foreach. Vrne elemente polja enega za drugim.
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); } } }
Izhod:
10 20 30 40 50