Unsur Tuple Bernama
Berikan nama yang bermakna kepada medan tuple.
Unsur Tuple Bernama ialah pelajaran Akademi C# percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Akademi C#, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Akademi C# merangkumi sejumlah 4 pelajaran.
Menamakan Elemen Tupel
Daripada menggunakan Item1/Item2, anda boleh memberikan nama kepada elemen tupel untuk menghasilkan kod yang lebih mudah dibaca: (int Id, string Name).
using System;
class Program
{
static void Main()
{
(int Id, string Name) user = (1, "Ada");
Console.WriteLine(user.Id + ": " + user.Name);
}
}Nama dalam Literal
Anda boleh melampirkan nama secara terus semasa mencipta tupel, dan pengkompil akan mengingatinya.
using System;
class Program
{
static void Main()
{
var point = (X: 3, Y: 4);
Console.WriteLine("X=" + point.X + ", Y=" + point.Y);
}
}Mengapa Nama Meningkatkan Kejelasan
Elemen bernama mendokumentasikan tujuan. result.Total jauh lebih jelas daripada 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"));
}
}Nama ialah Label Pilihan
Nama elemen tupel ialah kemudahan masa kompilasi. Di sebaliknya, medan itu masih Item1, Item2; kedua-dua nama boleh digunakan.
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);
}
}Tupel Bernama dalam Tandatangan Kaedah
Kaedah boleh mengisytiharkan tupel bernama sebagai parameternya atau jenis pulangannya, menjadikan API itu menerangkan dirinya sendiri.
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);
}
}Menggabungkan Nama dan Kedudukan
Anda boleh menamakan sesetengah elemen dan membiarkan yang lain mengikut kedudukan, walaupun menamakan semuanya lebih jelas.
using System;
class Program
{
static void Main()
{
var data = (Id: 7, "guest", Active: true);
Console.WriteLine(data.Id + ", " + data.Item2 + ", " + data.Active);
}
}Nama dengan Ahli yang Disimpulkan
Apabila anda membina tupel daripada pemboleh ubah bernama, C# boleh menyimpulkan nama elemen yang sepadan secara automatik.
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);
}
}Mengemas Kini Elemen Bernama
Elemen bernama masih merupakan medan yang boleh ditulis, jadi anda boleh menetapkannya semula semasa program berjalan.
using System;
class Program
{
static void Main()
{
var game = (Player: "A", Score: 0);
game.Score += 25;
Console.WriteLine(game.Player + " scored " + game.Score);
}
}Tupel Bernama dalam Senarai
Senarai tupel bernama hampir menyerupai baris dalam jadual apabila dibaca.
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);
}
}Kesamaan dengan Nama
Nama tidak mempengaruhi kesamaan. Dua tupel adalah sama apabila nilainya sepadan, tanpa mengira nama elemennya.
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
}
}Menggabungkannya
Tupel bernama menggabungkan sifat ringan tupel dengan kebolehbacaan medan bernama, dan sangat sesuai untuk nilai pulangan kaedah yang jelas.
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);
}
}Semakan Pantas
Uji pemahaman anda tentang elemen tupel bernama.
Ulang Kaji
Elemen tupel bernama seperti (int Id, string Name) menjadikan tupel mampu menerangkan dirinya sendiri; anda mengaksesnya mengikut nama dan bukannya Item1. Nama boleh diisytiharkan, disimpulkan daripada pemboleh ubah dan digunakan dalam tandatangan kaedah. Nama tersebut ialah label masa kompilasi dan tidak mempengaruhi kesamaan, yang membandingkan nilai.
using System;
class Program
{
static void Main()
{
var user = (Id: 42, Name: "Kai");
Console.WriteLine(user.Name + " #" + user.Id);
}
}Pelajari C# dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 93
- Pelajaran
- 346
Soalan Lazim
Adakah pelajaran “Unsur Tuple Bernama” percuma?
Ya — teks penuh “Unsur Tuple Bernama” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Akademi C#, tingkat taraf kepada CoddyKit PRO. Kursus Akademi C# merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Unsur Tuple Bernama”?
Berikan nama yang bermakna kepada medan tuple. Anda berlatih Akademi C# menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Akademi C#?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Akademi C# di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Unsur Tuple Bernama” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Akademi C# ini?
Ya. Setiap pelajaran Akademi C# menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Asas Tuple Nilai
- Unsur Tuple Bernama
- Penyahbinaan
- Tuple sebagai Nilai Pulangan Kaedah