Często w programowaniu spotyka się sytuację, w której korzysta się z dużej liczby zmiennych tego samego typu. Zamiast deklarować np. kilkanaście (czy kilka tysięcy) zmiennych, korzysta się z tablic lub kolekcji.
Czym są tablice?
To zbiory wielu zmiennych tego samego typu. Możemy zadeklarować zmienną typu tablicowego i przechowywać w niej np. sto liczb całkowitych. W tablicach i kolekcjach możemy przetrzymywać także klasy i struktury. Dokładniej rzecz ujmując tablica to obiekt zawierający zbiór referencji do innych zmiennych.
Jako prosty przykład napiszmy program, w którym zadeklarujemy tablicę o rozmiarze 3 (tyle elementów będzie mogła przechowywać), a następnie przypiszemy jej trzy liczby całkowite i wypiszemy je na ekranie w innej kolejności.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
class KlasaGlowna
{
static void Main()
{
int[] tablicaLiczb = new
int[3];
tablicaLiczb[0]
= 11;
tablicaLiczb[1] = 22;
tablicaLiczb[2] = 33;
System.Console.WriteLine("Liczby znajdujące się w tablicy:");
System.Console.WriteLine(tablicaLiczb[0]
+ " " + tablicaLiczb[1] + " " + tablicaLiczb[2]);
System.Console.WriteLine("Te
same liczby ale wypisane w innej kolejności:");
System.Console.WriteLine(tablicaLiczb[1]
+ " " + tablicaLiczb[2] + " " + tablicaLiczb[0]);
System.Console.Read();
Prześledźmy kod. Najpierw deklarujemy zmienną tablicową, określając typ przechowywanych elementów („int”) oraz rozmiar (maksymalna ilość przechowywanych elementów). Po słówku „int” występuje para nawiasów prostokątnych, która określa, że nie jest to zwykła zmienna typu całkowitoliczbowego lecz zmienna tablicowa. Następnie za pomocą słówka „new” tworzymy nowy obiekt (tablicę) i podajemy rozmiar w nawiasach prostokątnych (w tym wypadku „3”). Odwołać się do poszczególnych elementów w tablicy możemy także za pomocą nawiasów prostokątnych. Wystarczy tylko podać, do którego elementu chcemy się dostać. Liczby 0, 1, 2 umieszczone między nawiasami to indeksy tablicy. Im większy rozmiar tablicy tym większych indeksów możemy użyć ale zawsze muszą one być co najmniej o jeden mniejsze od rozmiaru tablicy. Indeksowanie rozpoczyna się zawsze od liczby „0”, więc pierwszy element znajduje się pod „tablica[0]”, a nie jakby się mogło wydawać pod „tablica[1]”.
W naszym programie najpierw przypisujemy wartości kolejnym zmiennym, a następnie wypisujemy je w różnej kolejności.
Wynik działania programu:
class KlasaGlowna
{
static void Main()
{
int[]
tablicaLiczb = { 11, 22, 33 };
System.Console.WriteLine("Liczby znajdujące się w tablicy:");
System.Console.WriteLine(tablicaLiczb[0]
+ " " + tablicaLiczb[1] + " " + tablicaLiczb[2]);
System.Console.WriteLine("Te
same liczby ale wypisane w innej kolejności:");
System.Console.WriteLine(tablicaLiczb[1]
+ " " + tablicaLiczb[2] + " " + tablicaLiczb[0]);
System.Console.Read();
Wynik działania jest identyczny jak w poprzednim programie.
Automatyczna inicjalizacja elementów
W C# podczas powoływania tablicy do życia (stworzenie obiektu typy tablicowego), wszystkie elementy są wypełniane wartościami domyślnymi, czyli dla „int” będzie to „0”, dla „string” łańcuch pusty „”, dla obiektów „null” itd.
class KlasaGlowna
{
static void Main()
{
int[] tablicaInt = new
int[3];
string[] tablicaString = new
string[3];
System.Console.WriteLine("Liczby
znajdujące się w tablicaInt:");
for (int i = 0; i < 3; i++)
{
System.Console.WriteLine(tablicaInt[i]
+ " ");
}
System.Console.WriteLine("\nNapisy znajdujące się w tablicaString:");
for (int i = 0; i < 3; i++)
{
System.Console.WriteLine(tablicaString[i]
+ " ");
}
System.Console.Read();
}
Wynik
Praktyczne wykorzystanie tablic
Bardziej przydatnym programem jest aplikacja, która najpierw poprosi użytkownika o podanie rozmiaru tablicy, a następnie o wprowadzenie tylu liczb ile wynosi podany przez nas rozmiar. Liczby zostaną umieszczone w tablicy. W każdej chwili będziemy mogli wskazać, która liczbę chcemy wyświetlić.
}class KlasaGlowna
{
static void Main()
{
System.Console.WriteLine("Podaj
rozmiar tablicy.");
string rozmiarTablicy = System.Console.ReadLine();
int[] tablicaLiczb = new
int[int.Parse(rozmiarTablicy)];
for (int i = 0; i < int.Parse(rozmiarTablicy);
i++)
{
System.Console.WriteLine("Podaj liczbę o indeksie " + i + ".");
tablicaLiczb[i] = int.Parse(System.Console.ReadLine());
}
System.Console.WriteLine("Liczby znajdujące się w tablicy:");
for (int i = 0; i < int.Parse(rozmiarTablicy);
i++)
{
System.Console.Write(tablicaLiczb[i]
+ " ");
}
string
koniec = "n";
do
{
System.Console.WriteLine("\nKtórą liczbę wyświetlić?");
string indeks =
System.Console.ReadLine();
System.Console.WriteLine("Element
tablicy o indeksie " + indeks +
"
ma wartość: " + tablicaLiczb[int.Parse(indeks)]);
System.Console.WriteLine("Koniec? (t\\n)");
koniec = System.Console.ReadLine();
}
while
(koniec != "t");
}
Wynik wykonania programu:
Ćwiczenie
Napisz program pobierający od użytkownika 5 liczb całkowitych i wypisujący je na ekranie od najmniejszej do największej.
class KlasaGlowna
{
static void Main()
{
int[] tablicaLiczb = new
int[5];
for (int i = 0; i
< 5; i++)
{
System.Console.WriteLine("Podaj liczbę o indeksie " + i + ".");
tablicaLiczb[i] = int.Parse(System.Console.ReadLine());
}
for (int i = 4; i
> 0; i--)
{
for (int j = 0; j
< i; j++)
{
int
pierwsza = tablicaLiczb[j];
int
druga = tablicaLiczb[j + 1];
if
(pierwsza > druga)
{
tablicaLiczb[j] = druga;
tablicaLiczb[j + 1] =
pierwsza;
}
}
}
System.Console.WriteLine("Posortowane liczby: ");
for (int i = 0; i < 5; i++)
{
System.Console.Write(tablicaLiczb[i] + " ");
}
System.Console.Read();
}

Aktualności
- ChatGPT ma już 400 mln użytkowników tygodniowo. To spory wzrost
- Microsoft wypuścił Muse, wyjątkowy model AI dla twórców gier
- Copilot w Excelu pozwala już wyszukiwać i importować dane
- Grok 3 wyprzedza GPT-4o, X Premium drożeje
- Kiedy wyjdzie GPT-5? Znamy już harmonogram
- Elon Musk chciał przejąć OpenAI za 97,4 mld dolarów. Oferta odrzucona
- Plan OpenAI na 2026 rok: masowa produkcja chipów AI
- Meta trenowała AI na pirackich ebookach

Artykuły
- Jak sztuczna inteligencja pomaga planecie?
- Zmiana umowy EA na CSP dla produktów Microsoft 365 - czy będzie konieczna?
- Czym są agenty AI i jak odmienią to, jak pracujemy?
- To był rok z Microsoft! Podsumowanie roku 2024 w świecie technologii
- TOP 10 artykułów z 2024 w świecie technologii Microsoft
- Co nowego w Microsoft 365? Podsumowanie zmian z grudnia 2024
- Jak działa rozwiązywanie problemów przy użyciu usługi Windows Update w Windows 11?
- Co nowego w Microsoft 365? Podsumowanie zmian z listopada 2024