MC, 2025
Ilustracja do artykułu: Co to jest C# 2D List? Przykłady i zastosowania tej potężnej struktury danych

Co to jest C# 2D List? Przykłady i zastosowania tej potężnej struktury danych

Jeśli jesteś programistą C# lub dopiero zaczynasz swoją przygodę z tym językiem, na pewno spotkałeś się już z różnymi typami kolekcji. Jednym z nich jest 2D List, który może wydawać się nieco bardziej zaawansowany, ale naprawdę otwiera przed nami szerokie możliwości w zakresie przechowywania danych. W tym artykule omówimy, czym jest C# 2D List, jak go tworzyć, kiedy warto go używać i zaprezentujemy przykłady, które pomogą ci lepiej zrozumieć, jak wykorzystać tę strukturę w swoich projektach. Gotowy na małą podróż po 2D List w C#? Zaczynajmy!

Czym jest C# 2D List?

C# 2D List to nic innego jak lista list, czyli struktura danych, która pozwala na przechowywanie wielu list wewnątrz jednej głównej listy. Zamiast przechowywać pojedyncze wartości, jak w przypadku zwykłej listy, 2D List pozwala przechowywać dane w dwóch wymiarach, co czyni go bardzo przydatnym, np. przy tworzeniu tablic, macierzy, czy też przechowywaniu danych w formie tabeli.

Wyobraź sobie, że masz tabelę, w której każda komórka zawiera różne dane, a każda kolumna to lista. Zamiast tworzyć osobne listy dla każdego wiersza, możesz wykorzystać jedną listę, która zawiera wszystkie te wiersze. To właśnie oferuje C# 2D List – możliwość przechowywania danych w formie "siatki", z której łatwo można odczytywać i modyfikować poszczególne elementy.

Jak stworzyć C# 2D List?

Tworzenie 2D List w C# jest bardzo proste, ponieważ korzysta się z klasy List, która jest jedną z podstawowych kolekcji w tym języku. Aby stworzyć listę 2D, wystarczy stworzyć listę, w której każdy element będzie inną listą.

Oto przykład jak utworzyć i zainicjować 2D List w C#:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Tworzenie 2D List, gdzie każda lista wewnętrzna przechowuje liczby
        List> twoDList = new List>();

        // Dodawanie list do 2D List
        twoDList.Add(new List { 1, 2, 3 });
        twoDList.Add(new List { 4, 5, 6 });
        twoDList.Add(new List { 7, 8, 9 });

        // Dostęp do elementów w 2D List
        Console.WriteLine(twoDList[1][2]); // Wyświetli 6
    }
}

W powyższym przykładzie tworzymy 2D List, w którym przechowujemy trzy listy, każdą zawierającą trzy liczby. Aby uzyskać dostęp do elementu, używamy indeksu – najpierw wskazujemy, która lista (pierwszy poziom) nas interesuje, a potem indeksujemy element w tej wewnętrznej liście (drugi poziom).

Przykłady zastosowań C# 2D List

Jakie sytuacje mogą wymagać zastosowania 2D List w C#? Oto kilka przykładów, które pomogą ci zobaczyć, jak ta struktura danych może ułatwić twoje życie programistyczne:

1. Tworzenie macierzy

Jednym z klasycznych zastosowań 2D List jest tworzenie macierzy, czyli dwuwymiarowej tablicy, która może przechowywać dane liczbowe, tekstowe czy jakiekolwiek inne. Dzięki 2D List łatwo stworzymy elastyczną strukturę, w której będziemy mogli przechowywać dane wierszami i kolumnami.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Tworzenie macierzy 3x3
        List> matrix = new List>();

        // Inicjowanie wierszy
        matrix.Add(new List { 1, 2, 3 });
        matrix.Add(new List { 4, 5, 6 });
        matrix.Add(new List { 7, 8, 9 });

        // Wyświetlanie całej macierzy
        for (int i = 0; i < matrix.Count; i++)
        {
            for (int j = 0; j < matrix[i].Count; j++)
            {
                Console.Write(matrix[i][j] + " ");
            }
            Console.WriteLine();
        }
    }
}

W tym przykładzie tworzymy macierz 3x3 i wyświetlamy ją na ekranie. Widzimy, że każda lista w 2D List reprezentuje jeden wiersz macierzy, a elementy w listach to poszczególne liczby w kolumnach.

2. Reprezentacja tabeli danych

2D List jest idealny do przechowywania danych w formie tabeli. Możemy przechować np. dane kontaktowe w postaci wierszy (osób) i kolumn (danych, takich jak imię, nazwisko, numer telefonu). Dzięki temu mamy bardzo wygodny dostęp do wszystkich potrzebnych informacji.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Tworzenie 2D List reprezentującej tabelę danych
        List> contacts = new List>();

        // Dodawanie danych kontaktowych
        contacts.Add(new List { "Jan", "Kowalski", "123-456-789" });
        contacts.Add(new List { "Anna", "Nowak", "987-654-321" });

        // Wyświetlanie tabeli danych
        for (int i = 0; i < contacts.Count; i++)
        {
            Console.WriteLine($"Imię: {contacts[i][0]}, Nazwisko: {contacts[i][1]}, Telefon: {contacts[i][2]}");
        }
    }
}

W tym przykładzie przechowujemy dane kontaktowe w tabeli, gdzie każdy wiersz odpowiada jednej osobie, a kolumny zawierają imię, nazwisko i numer telefonu. Taki układ danych może być użyteczny np. w aplikacjach do zarządzania kontaktami.

3. Algorytmy i gry

2D List świetnie nadaje się do przechowywania danych w grach komputerowych, np. plansz do gier takich jak szachy, warcaby czy gry logiczne. Możemy przechowywać stan gry w postaci planszy, a następnie manipulować danymi w ramach gry.

Jak modyfikować i iterować po C# 2D List?

2D List to struktura dynamiczna, co oznacza, że możemy dodawać, usuwać i modyfikować elementy w dowolnym momencie. Oto kilka przykładów:

Dodawanie nowych wierszy do 2D List
List> list2D = new List>();
list2D.Add(new List { 1, 2, 3 });
list2D.Add(new List { 4, 5, 6 });
list2D.Add(new List { 7, 8, 9 });

// Dodanie nowego wiersza
list2D.Add(new List { 10, 11, 12 });
Usuwanie wierszy
list2D.RemoveAt(1); // Usuwa drugi wiersz (indeks 1)

Podsumowanie

C# 2D List to bardzo potężne narzędzie w rękach programisty, które pozwala na efektywne przechowywanie i manipulowanie danymi w dwóch wymiarach. Dzięki elastyczności tej struktury możemy przechowywać dane w postaci tabel, macierzy, czy różnych układów, co czyni ją niezwykle uniwersalnym narzędziem w codziennej pracy programistycznej. Mam nadzieję, że dzięki temu artykułowi zrozumiałeś, jak działa 2D List w C# i jak wykorzystać go w swoich projektach. Baw się dobrze i twórz! :)

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: