Podobnie jak inne języki programowania, tablica w C# to grupa podobnych typów elementów, które mają sąsiadującą lokalizację w pamięci. W C# tablicą jest obiekt typu podstawowego System.Array . W C# indeks tablicy zaczyna się od 0. W tablicy C# możemy przechowywać tylko ustalony zestaw elementów.
Zalety tablicy C#
- Optymalizacja kodu (mniej kodu)
- Losowy dostęp
- Łatwe przeglądanie danych
- Łatwość manipulacji danymi
- Łatwe sortowanie danych itp.
Wady tablicy C#
- Stały rozmiar
Typy tablic C#
W programowaniu w języku C# istnieją 3 typy tablic:
- Tablica jednowymiarowa
- Tablica wielowymiarowa
- Postrzępiona tablica
Tablica jednowymiarowa C#
Aby utworzyć tablicę jednowymiarową, po typie należy użyć nawiasów kwadratowych [].
int[] arr = new int[5];//creating array
Po identyfikatorze nie można umieszczać nawiasów kwadratowych.
Funkcja prototypowa w C++
int arr[] = new int[5];//compile time error
Zobaczmy prosty przykład tablicy C#, w której będziemy deklarować, inicjować i przeglądać tablicę.
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;>
Przykład tablicy C#: deklaracja i inicjalizacja w tym samym czasie
Istnieją 3 sposoby inicjowania tablicy w momencie deklaracji.
int[] arr = new int[5]{ 10, 20, 30, 40, 50 };
Możemy pominąć rozmiar tablicy.
int[] arr = new int[]{ 10, 20, 30, 40, 50 };
Możemy również pominąć operatora new.
int[] arr = { 10, 20, 30, 40, 50 };
Zobaczmy przykład tablicy, w którym jednocześnie deklarujemy i inicjujemy tablicę.
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;>
Przykład tablicy C#: przechodzenie przy użyciu pętli foreach
Możemy także przechodzić przez elementy tablicy za pomocą pętli foreach. Zwraca element tablicy jeden po 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); } } }
Wyjście:
10 20 30 40 50