Arbeta med samlingar: listor, lexikon och köer
Fördjupa dig i C#-samlingar för att hantera dynamiska data effektivt
Arbeta med samlingar: listor, lexikon och köer är en gratis lektion i C# Academy på CoddyKit. Detta är lektion 6 av 6. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för C# Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i C# Academy innehåller totalt 6 lektioner.
Arbeta med samlingar: listor, dictionaries och köer
Välkommen till nästa lektion! I den här lektionen får ni lära er om samlingar i C#, bland annat listor, dictionaries och köer, samt hur ni använder dem effektivt i era program. Nu sätter vi igång!

Vad är samlingar?
Samlingar i C# är klasser som lagrar och hanterar grupper av relaterade objekt. Till skillnad från arrayer är samlingar dynamiska och erbjuder större flexibilitet och fler funktioner.
Viktig poäng: Samlingar gör det enklare att arbeta med grupper av data genom att tillhandahålla inbyggda metoder för att lägga till, ta bort och söka efter element.
Arbeta med listor
En lista är en samling som tillåter dubbletter och behåller ordningen på elementen. Exempel:
Tips: Använd listor när ni behöver lagra och ändra ordnade datasamlingar.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
names.Add("Diana"); // Add an element
names.Remove("Bob"); // Remove an element
Console.WriteLine("Names:");
foreach (string name in names) {
Console.WriteLine(name);
}
}
}
Arbeta med dictionaries
En dictionary är en samling nyckel/värde-par. Varje nyckel är unik och används för att komma åt sitt associerade värde. Exempel:
Viktig poäng: Dictionaries passar perfekt när ni behöver snabba uppslag baserade på unika nycklar.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
Dictionary<string, int> ages = new Dictionary<string, int> {
{ "Alice", 25 },
{ "Bob", 30 },
{ "Charlie", 35 }
};
ages["Diana"] = 28; // Add a key-value pair
ages.Remove("Bob"); // Remove a key-value pair
Console.WriteLine("Ages:");
foreach (var entry in ages) {
Console.WriteLine($"{entry.Key}: {entry.Value}");
}
}
}
Arbeta med köer
En kö är en samling som följer principen först in, först ut (FIFO). Element läggs till sist och tas bort först. Exempel:
Tips: Använd köer för uppgifter som behöver bearbetas i den ordning de lades till.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
Queue<string> tasks = new Queue<string>();
tasks.Enqueue("Task 1"); // Add to the queue
tasks.Enqueue("Task 2");
tasks.Enqueue("Task 3");
Console.WriteLine("Processing tasks:");
while (tasks.Count > 0) {
Console.WriteLine(tasks.Dequeue()); // Remove from the queue
}
}
}
Jämföra samlingar
Här är en snabb jämförelse av samlingstyperna:
- Lista: Behåller ordningen, tillåter dubbletter och ger åtkomst via index.
- Dictionary: Lagrar nyckel/värde-par för snabba uppslag.
- Kö: Bearbetar element i ordningen först in, först ut.
Tips: Välj den samlingstyp som passar ert användningsområde bäst.
Övningsuppgift
Skapa ett program som använder en dictionary för att lagra produktpriser och en kö för att simulera kunders betalning i kassan. Exempel:
using System;
using System.Collections.Generic;
class Program {
static void Main() {
Dictionary<string, double> products = new Dictionary<string, double> {
{ "Apple", 0.5 },
{ "Banana", 0.3 },
{ "Carrot", 0.2 }
};
Queue<string> customers = new Queue<string>();
customers.Enqueue("Customer 1");
customers.Enqueue("Customer 2");
Console.WriteLine("Processing customers:");
while (customers.Count > 0) {
string customer = customers.Dequeue();
Console.WriteLine($"{customer} is buying:");
foreach (var product in products) {
Console.WriteLine($"- {product.Key}: ${product.Value}");
}
}
}
}
Bästa praxis för samlingar
Här är några rekommendationer:
- Välj rätt samlingstyp utifrån era krav, till exempel snabba uppslag, bevarad ordning eller FIFO-bearbetning.
- Använd generiska samlingar, till exempel
List<T>ochDictionary<TKey, TValue>, för typsäkerhet. - Kontrollera alltid om samlingar är null eller tomma innan ni får åtkomst till element.
Tips: Korrekt hantering av samlingar kan göra koden effektivare och mer lättläst.
Bra jobbat!
Grattis! Ni har lärt er hur listor, dictionaries och köer kan användas för att hantera data dynamiskt i C#. Därmed avslutas kategorin Avancerade programmeringskoncept. Fortsätt att koda och utforska fler avancerade ämnen under er fortsatta utvecklingsresa!

Lär dig C# med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 93
- Lektioner
- 346
Vanliga frågor
Är lektionen ”Arbeta med samlingar: listor, lexikon och köer” gratis?
Ja – hela texten till ”Arbeta med samlingar: listor, lexikon och köer” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i C# Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i C# Academy innehåller totalt 6 lektioner.
Vad lär jag mig i ”Arbeta med samlingar: listor, lexikon och köer”?
Fördjupa dig i C#-samlingar för att hantera dynamiska data effektivt Ni övar på C# Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig C# Academy?
Du behöver inga förkunskaper. Utbildningen i C# Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 6 av 6.
Hur lång tid tar lektionen ”Arbeta med samlingar: listor, lexikon och köer”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här C# Academy-lektionen?
Ja. Varje C# Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Introduktion till gränssnitt
- Abstrakta klasser
- Statiska medlemmar och metoder
- Utforska enum-typer och strukturer
- Delegater och händelser
- Arbeta med samlingar: listor, lexikon och köer