Adlandırılmış Tuple Öğeleri
Tuple alanlarına anlamlı adlar verin.
Adlandırılmış Tuple Öğeleri, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 4 dersten oluşur.
Demet Öğelerini Adlandırma
Item1/Item2 yerine, okunabilir kod için demet öğelerine adlar verebilirsiniz: (int Id, string Name).
using System;
class Program
{
static void Main()
{
(int Id, string Name) user = (1, "Ada");
Console.WriteLine(user.Id + ": " + user.Name);
}
}Değişmez Değerdeki Adlar
Demeti oluştururken adları doğrudan ekleyebilirsiniz; derleyici de bunları hatırlar.
using System;
class Program
{
static void Main()
{
var point = (X: 3, Y: 4);
Console.WriteLine("X=" + point.X + ", Y=" + point.Y);
}
}Adlar Açıklığı Neden Artırır
Adlandırılmış öğeler amacı açıklar. result.Total, result.Item2 ifadesinden çok daha anlaşılırdır.
using System;
class Program
{
static void Main()
{
var result = (Count: 3, Total: 150);
Console.WriteLine("Avg: " + ((double)result.Total / result.Count).ToString("0.0"));
}
}Adlar İsteğe Bağlı Etiketlerdir
Demet öğelerinin adları derleme zamanında kolaylık sağlar. Temelde alanlar hâlâ Item1 ve Item2'dir; her iki ad da çalışır.
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);
}
}Yöntem İmzalarında Adlandırılmış Demetler
Bir yöntem, parametresi veya dönüş türü olarak adlandırılmış bir demet tanımlayabilir; böylece API kendini açıklar.
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);
}
}Adlandırılmış ve Konumsal Öğeleri Birlikte Kullanma
Bazı öğeleri adlandırıp diğerlerini konumsal bırakabilirsiniz; ancak tümünü adlandırmak daha açıktır.
using System;
class Program
{
static void Main()
{
var data = (Id: 7, "guest", Active: true);
Console.WriteLine(data.Id + ", " + data.Item2 + ", " + data.Active);
}
}Çıkarılan Üyelerle Adlar
Adlandırılmış değişkenlerden bir demet oluşturduğunuzda C#, eşleşen öğe adlarını otomatik olarak çıkarabilir.
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);
}
}Adlandırılmış Öğeleri Güncelleme
Adlandırılmış öğeler yine de yazılabilir alanlardır; bu nedenle program çalışırken onları yeniden atayabilirsiniz.
using System;
class Program
{
static void Main()
{
var game = (Player: "A", Score: 0);
game.Score += 25;
Console.WriteLine(game.Player + " scored " + game.Score);
}
}Listelerde Adlandırılmış Demetler
Adlandırılmış demet listeleri neredeyse bir tablodaki satırlar gibi okunur.
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);
}
}Adlarla Eşitlik
Adlar eşitliği etkilemez. Öğe adları ne olursa olsun, değerleri eşleşen iki demet eşittir.
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
}
}Birleştirelim
Adlandırılmış demetler, demetlerin hafifliğini adlandırılmış alanların okunabilirliğiyle birleştirir ve anlaşılır yöntem dönüşleri için idealdir.
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);
}
}Kısa Kontrol
Adlandırılmış demet öğelerini anlayıp anlamadığınızı sınayın.
Özet
Adlandırılmış demet öğeleri, (int Id, string Name) gibi kullanımlarla demetleri kendi kendini açıklayan yapılara dönüştürür; öğelere Item1 yerine adlarıyla erişirsiniz. Adlar bildirilebilir, değişkenlerden çıkarılabilir ve yöntem imzalarında kullanılabilir. Bunlar derleme zamanı etiketleridir ve eşitliği etkilemez; eşitlik değerleri karşılaştırır.
using System;
class Program
{
static void Main()
{
var user = (Id: 42, Name: "Kai");
Console.WriteLine(user.Name + " #" + user.Id);
}
}Sıkça Sorulan Sorular
“Adlandırılmış Tuple Öğeleri” dersi ücretsiz mi?
Evet — “Adlandırılmış Tuple Öğeleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 4 dersten oluşur.
“Adlandırılmış Tuple Öğeleri” dersinde ne öğreneceğim?
Tuple alanlarına anlamlı adlar verin. C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C# Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Adlandırılmış Tuple Öğeleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Değer Tuple'larının Temelleri
- Adlandırılmış Tuple Öğeleri
- Yapı Bozma
- Yöntemlerin Dönüş Değeri Olarak Tuple'lar