Massivid ja Listid

C#-s kasutatakse elementide kogumite salvestamiseks nii loendeid kui ka massiivid, kuid neil on olulisi erinevusi paindlikkuse, jõudluse ja kasutuse osas.

1. Massiivid (T[])

Fikseeritud suurus: Pärast loomist ei saa pikkust muuta.

Kiire juurdepääs: Indeksipõhine juurdepääs on väga kiire.

Sobib kõige paremini: Tuntud, fikseeritud suurusega kogudele, kus jõudlus on kriitilise tähtsusega.

Näide:

using System;

class Program
{
    static void Main()
    {
        // Declare and initialize an array
        int[] numbers = { 1, 2, 3, 4, 5 };

        // Access elements
        Console.WriteLine("First element: " + numbers[0]);

        // Modify an element
        numbers[2] = 99;

        // Iterate through array
        Console.WriteLine("Array elements:");
        foreach (int num in numbers)
        {
            Console.Write(num + " ");
        }
    }
}

2. Listid (List<T>)

Dünaamiline suurus: Saab käitusajal kasvada või kahaneda.

Rohkem funktsioone: Sisseehitatud meetodid nagu Add, Remove, Contains, Sort, jne.

Sobib kõige paremini: Kogudele, mille suurus sageli muutub.

Näide:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Create a list of integers
        List<int> numbers = new List<int> { 1, 2, 3 };

        // Add elements
        numbers.Add(4);
        numbers.AddRange(new int[] { 5, 6 });

        // Remove an element
        numbers.Remove(2);

        // Check if list contains a value
        if (numbers.Contains(3))
        {
            Console.WriteLine("List contains 3");
        }

        // Iterate through list
        Console.WriteLine("List elements:");
        foreach (int num in numbers)
        {
            Console.Write(num + " ");
        }
    }
}

3. Peamiste erinevuste tabel

FunktsioonArray (T[])List (List<T>)
SuurusFikseeritudDünaamiline
JõudlusVeidi kiiremVeidi aeglasem (suuruse muutmise tõttu)
MäluKompaktneVõib eraldada lisaruumi
Sisseehitatud MeetodidVähesed (Length, IndexOf)Palju (Add, Remove, Sort, jne.)
KasutusjuhtumFikseeritud suurusega andmedPaindlikud, muutuvad andmed