พื้นฐาน Value Tuple
สร้างทูเพิลน้ำหนักเบาสำหรับจัดกลุ่มข้อมูล
พื้นฐาน Value Tuple เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน
ทูเพิลคืออะไร
ทูเพิล ใช้จัดกลุ่มหลายค่าไว้ในชุดข้อมูลขนาดเล็กชุดเดียวโดยไม่ต้องกำหนดคลาส ทูเพิลค่าใน C# ใช้วงเล็บ: (int, string)
using System;
class Program
{
static void Main()
{
(int, string) pair = (1, "one");
Console.WriteLine(pair.Item1 + " = " + pair.Item2);
}
}การสร้างทูเพิลค่า
เขียนค่าเหล่านั้นไว้ในวงเล็บ คอมไพเลอร์จะอนุมานชนิดของทูเพิลจากค่าเหล่านั้น
using System;
class Program
{
static void Main()
{
var point = (3, 4);
Console.WriteLine("x=" + point.Item1 + ", y=" + point.Item2);
}
}การเข้าถึงองค์ประกอบ: รายการที่ 1, รายการที่ 2
องค์ประกอบของทูเพิลที่ไม่ได้ตั้งชื่อจะเข้าถึงได้ผ่าน Item1, Item2, Item3 และรายการถัดไปตามลำดับ
using System;
class Program
{
static void Main()
{
var rgb = (255, 128, 0);
Console.WriteLine("R=" + rgb.Item1 + " G=" + rgb.Item2 + " B=" + rgb.Item3);
}
}ทูเพิลรองรับชนิดข้อมูลหลากหลาย
แต่ละองค์ประกอบอาจมีชนิดข้อมูลแตกต่างกัน ทูเพิลสามารถผสมตัวเลข สตริง ค่าบูลีน และชนิดอื่น ๆ ได้
using System;
class Program
{
static void Main()
{
var user = ("Ada", 36, true);
Console.WriteLine(user.Item1 + ", age " + user.Item2 + ", active=" + user.Item3);
}
}ทูเพิลเปลี่ยนแปลงค่าได้
องค์ประกอบของทูเพิลค่าสามารถกำหนดใหม่ได้ เนื่องจาก ItemN แต่ละรายการเป็นฟิลด์ที่เขียนค่าได้
using System;
class Program
{
static void Main()
{
var score = (player: "A", points: 0);
score.points = 10;
score.points += 5;
Console.WriteLine(score.player + ": " + score.points);
}
}ทูเพิลสำหรับจัดกลุ่มข้อมูลภายในวิธีการ
ทูเพิลเหมาะอย่างยิ่งสำหรับจัดกลุ่มค่าชั่วคราวภายในวิธีการ โดยไม่ต้องสร้างชนิดข้อมูลเฉพาะ
using System;
class Program
{
static void Main()
{
var range = (min: 5, max: 50);
int span = range.max - range.min;
Console.WriteLine("Span: " + span);
}
}การเปรียบเทียบทูเพิล
ทูเพิลค่ารองรับการเปรียบเทียบความเท่ากัน: ทูเพิลสองชุดจะเท่ากันก็ต่อเมื่อองค์ประกอบที่อยู่ในตำแหน่งตรงกันทั้งหมดเท่ากัน
using System;
class Program
{
static void Main()
{
var a = (1, 2);
var b = (1, 2);
var c = (1, 3);
Console.WriteLine(a == b);
Console.WriteLine(a == c);
}
}การซ้อนทูเพิล
องค์ประกอบหนึ่งของทูเพิลอาจเป็นทูเพิลอีกชุด ทำให้คุณสร้างกลุ่มข้อมูลขนาดเล็กที่มีโครงสร้างได้
using System;
class Program
{
static void Main()
{
var line = (start: (0, 0), end: (3, 4));
Console.WriteLine("From " + line.start.Item1 + "," + line.start.Item2 +
" to " + line.end.Item1 + "," + line.end.Item2);
}
}ทูเพิลในชุดข้อมูล
คุณสามารถเก็บทูเพิลไว้ในรายการเพื่อให้ข้อมูลที่จับคู่กันอยู่ด้วยกันโดยไม่ต้องสร้างคลาส
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var scores = new List<(string, int)>
{
("Ann", 90),
("Bob", 85)
};
foreach (var s in scores)
Console.WriteLine(s.Item1 + ": " + s.Item2);
}
}ความหมายแบบค่า
ทูเพิลค่าเป็น โครงสร้าง ดังนั้นการกำหนดค่าให้ทูเพิลจะเป็นการคัดลอกค่า การเปลี่ยนแปลงสำเนาจะไม่ส่งผลต่อต้นฉบับ
using System;
class Program
{
static void Main()
{
var original = (n: 1);
var copy = original;
copy.n = 99;
Console.WriteLine("original=" + original.n + ", copy=" + copy.n);
}
}สรุปการใช้งานร่วมกัน
ทูเพิลค่าช่วยให้จัดกลุ่มข้อมูลที่มีชนิดข้อมูลได้อย่างรวดเร็ว เหมาะสำหรับข้อมูลอายุสั้นภายในวิธีการหรือในรายการแบบเรียบง่าย
using System;
class Program
{
static void Main()
{
var result = (count: 3, total: 150);
double average = (double)result.total / result.count;
Console.WriteLine("Average: " + average.ToString("0.0"));
}
}ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความเข้าใจของคุณเกี่ยวกับทูเพิลค่า
ทบทวน
ทูเพิลค่า รวมหลายค่าไว้ในวงเล็บ เช่น (int, string) โดยไม่ต้องใช้คลาส องค์ประกอบที่ไม่ได้ตั้งชื่อเข้าถึงได้ผ่าน Item1, Item2 ทูเพิลเป็นโครงสร้างที่เปลี่ยนแปลงค่าได้ มีความหมายแบบค่า และรองรับการเปรียบเทียบความเท่ากัน จึงเหมาะสำหรับการจัดกลุ่มข้อมูลภายในเครื่องอย่างรวดเร็ว
using System;
class Program
{
static void Main()
{
var t = (1, "one", true);
Console.WriteLine(t.Item1 + " " + t.Item2 + " " + t.Item3);
}
}คำถามที่พบบ่อย
บทเรียน “พื้นฐาน Value Tuple” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “พื้นฐาน Value Tuple” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “พื้นฐาน Value Tuple”
สร้างทูเพิลน้ำหนักเบาสำหรับจัดกลุ่มข้อมูล คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “พื้นฐาน Value Tuple” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม
ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐาน Value Tuple
- องค์ประกอบทูเพิลที่มีชื่อ
- การแยกโครงสร้าง
- ทูเพิลเป็นค่าที่เมธอดส่งคืน