Zmienne tablicowe i pętle for oraz foreach

Stronę tą wyświetlono już: 228 razy

Tablice w C# można deklarować dużo prościej, dla typów podstawowych przykładowa deklaracja wraz z wykorzystaniem pętli foreach w celu wypisania danych zawartych w tablicy wygląda następująco:

Listing 1
  1. uint size = 10;
  2. int[] tInt = new int[size];
  3. foreach(int i in tInt){ // iterowanie po elementach tablicy tInt
  4. Console.WriteLine(i);
  5. }

Wynikiem działania powyższego kodu będzie:

0
0
0
0
0
0
0
0
0
0

Nieco trudniej jest z tablicami obiektów klas ponieważ dla nich konieczne jest ręczne przydzielenie pamięci dla każdego elementu za pomocą operatora new oraz pętli for dla przykładu:

Listing 2
  1. uint size = 10
  2. A[] tA = new A[size];
  3. for (int i = 0; i < tA.Length; i++) // iterowanie po indeksach tablicy tA
  4. {
  5. tA[i] = new A();
  6. }
  7. foreach (A i in tA) // iterowanie po elementach tablicytA
  8. {
  9. Console.WriteLine(i.x + " " + i.y);
  10. }

Wynikiem działania powyższego kodu będzie:

0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0

Metoda Length zwraca liczbę wszystkich elementów w tablicy. Oto przykład:

Listing 3
  1. uint size1 = 10;
  2. uint size2 = 20;
  3. int[,] tInt = new int[size1, size2];
  4. Console.WriteLine(tInt.Length());
  5. Console.WriteLine(tInt.GetLength(0));
  6. Console.WriteLine(tInt.GetLength(1));

Wynik działania powyższego kodu będzie następujący:

200
10
20

Komentarze