logo

Nizi C#

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.

Matrika C#

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:

  1. Enodimenzionalni niz
  2. Večdimenzionalni niz
  3. 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&apos;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