Navngivne tuple-elementer
Giv tuple-felter meningsfulde navne.
Navngivne tuple-elementer er en gratis C# Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i C# Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. C# Academy-kurset indeholder 4 lektioner i alt.
Navngivning af tupel-elementer
I stedet for Item1/Item2 kan du give tupel-elementer navne for at gøre koden mere læselig: (int Id, string Name).
using System;
class Program
{
static void Main()
{
(int Id, string Name) user = (1, "Ada");
Console.WriteLine(user.Id + ": " + user.Name);
}
}Navne i literalen
Du kan tilføje navne direkte, når du opretter tuplen, og kompileren husker dem.
using System;
class Program
{
static void Main()
{
var point = (X: 3, Y: 4);
Console.WriteLine("X=" + point.X + ", Y=" + point.Y);
}
}Hvorfor navne gør koden tydeligere
Navngivne elementer dokumenterer hensigten. result.Total er langt tydeligere end result.Item2.
using System;
class Program
{
static void Main()
{
var result = (Count: 3, Total: 150);
Console.WriteLine("Avg: " + ((double)result.Total / result.Count).ToString("0.0"));
}
}Navne er valgfrie etiketter
Navne på tupel-elementer er en praktisk hjælp på kompileringstidspunktet. Underliggende er felterne stadig Item1 og Item2; begge former virker.
using System;
class Program
{
static void Main()
{
var p = (Age: 30, City: "Rome");
Console.WriteLine(p.Age + " / " + p.Item1); // same value
Console.WriteLine(p.City + " / " + p.Item2);
}
}Navngivne tupler i metodesignaturer
En metode kan erklære en navngiven tupel som sin parameter- eller returtype, så API'et bliver selvforklarende.
using System;
class Program
{
static (int Sum, int Product) Compute(int a, int b)
{
return (a + b, a * b);
}
static void Main()
{
var r = Compute(3, 4);
Console.WriteLine("Sum=" + r.Sum + ", Product=" + r.Product);
}
}Blanding af navngivne og positionelle elementer
Du kan navngive nogle elementer og lade andre være positionelle, men det er tydeligere at navngive dem alle.
using System;
class Program
{
static void Main()
{
var data = (Id: 7, "guest", Active: true);
Console.WriteLine(data.Id + ", " + data.Item2 + ", " + data.Active);
}
}Navne med automatisk udledte medlemmer
Når du opbygger en tupel ud fra navngivne variabler, kan C# automatisk udlede tilsvarende elementnavne.
using System;
class Program
{
static void Main()
{
int width = 10, height = 5;
var size = (width, height); // names inferred from variables
Console.WriteLine("w=" + size.width + ", h=" + size.height);
}
}Opdatering af navngivne elementer
Navngivne elementer er stadig skrivbare felter, så du kan tildele dem igen, mens programmet kører.
using System;
class Program
{
static void Main()
{
var game = (Player: "A", Score: 0);
game.Score += 25;
Console.WriteLine(game.Player + " scored " + game.Score);
}
}Navngivne tupler i lister
Lister med navngivne tupler læses næsten som rækker i en tabel.
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var people = new List<(string Name, int Age)>
{
("Ann", 30),
("Bob", 25)
};
foreach (var p in people)
Console.WriteLine(p.Name + " is " + p.Age);
}
}Lighed med navne
Navne påvirker ikke ligheden. To tupler er ens, når deres værdier stemmer overens, uanset elementernes navne.
using System;
class Program
{
static void Main()
{
var a = (X: 1, Y: 2);
var b = (A: 1, B: 2);
Console.WriteLine(a == b); // True - values match
}
}Sæt det hele sammen
Navngivne tupler kombinerer tuplernes enkelhed med læsbarheden ved navngivne felter og er perfekte til tydelige metoderesultater.
using System;
class Program
{
static (bool Ok, string Message) Validate(int age)
{
if (age < 0) return (false, "Age cannot be negative");
return (true, "Valid");
}
static void Main()
{
var v = Validate(-1);
Console.WriteLine(v.Ok + ": " + v.Message);
}
}Hurtigt tjek
Test din forståelse af navngivne tupel-elementer.
Opsamling
Navngivne tupel-elementer som (int Id, string Name) gør tupler selvforklarende; du tilgår dem via navn i stedet for Item1. Navne kan deklareres, udledes fra variabler og bruges i metodesignaturer. De er etiketter fra kompileringstidspunktet og påvirker ikke ligheden, som sammenligner værdier.
using System;
class Program
{
static void Main()
{
var user = (Id: 42, Name: "Kai");
Console.WriteLine(user.Name + " #" + user.Id);
}
}Lær C# med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 93
- Lektioner
- 346
Ofte stillede spørgsmål
Er lektionen “Navngivne tuple-elementer” gratis?
Ja — hele teksten til “Navngivne tuple-elementer” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af C# Academy-kurset, skal du opgradere til CoddyKit PRO. C# Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Navngivne tuple-elementer”?
Giv tuple-felter meningsfulde navne. Du øver dig i C# Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på C# Academy?
Der kræves ingen tidligere erfaring. C# Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “Navngivne tuple-elementer”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne C# Academy-lektion?
Ja. Alle C# Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Grundlæggende value tuples
- Navngivne tuple-elementer
- Dekomposition
- Tupler som returværdier fra metoder