0Pricing
C# Academy · บทเรียน

พื้นฐาน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. พื้นฐาน Value Tuple
  2. องค์ประกอบทูเพิลที่มีชื่อ
  3. การแยกโครงสร้าง
  4. ทูเพิลเป็นค่าที่เมธอดส่งคืน
← กลับไปที่ C# Academy