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

ลิเทอรัลสตริงดิบ

เขียนข้อความหลายบรรทัดและข้อความที่มีเครื่องหมายคำพูดจำนวนมากได้อย่างเรียบร้อย

ลิเทอรัลสตริงดิบ เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน

ลิเทอรัลสตริงดิบ

ลิเทอรัลสตริงดิบจะครอบด้วยเครื่องหมายอัญประกาศคู่ตั้งแต่สามตัวขึ้นไป อักขระภายในจะถูกเก็บตามตัวอักษร โดยไม่มีการประมวลผลอักขระหลีก

using System;

class Program {
    static void Main() {
        string s = """Hello "World"!""";
        Console.WriteLine(s);
    }
}

ไม่มีลำดับอักขระหลีก

เครื่องหมายแบ็กสแลชจะเป็นแบ็กสแลชธรรมดาภายในสตริงดิบ จึงเหมาะอย่างยิ่งสำหรับเส้นทางไฟล์และรูปแบบนิพจน์ทั่วไป

using System;

class Program {
    static void Main() {
        string path = """C:\Users\Ada\file.txt""";
        Console.WriteLine(path);
    }
}

การฝังเครื่องหมายอัญประกาศ

เนื่องจากตัวแบ่งเขตใช้เครื่องหมายอัญประกาศตั้งแต่สามตัวขึ้นไป เครื่องหมายอัญประกาศเดี่ยวและคู่ภายในจึงไม่จำเป็นต้องทำให้เป็นอักขระหลีก

using System;

class Program {
    static void Main() {
        string json = """{"name": "Ada", "age": 30}""";
        Console.WriteLine(json);
    }
}

สตริงดิบหลายบรรทัด

สำหรับเนื้อหาหลายบรรทัด ให้วางเครื่องหมายอัญประกาศเปิดและปิดไว้คนละบรรทัด เนื้อหาระหว่างเครื่องหมายทั้งสองจะถูกคงไว้

using System;

class Program {
    static void Main() {
        string text = """
        Line one
        Line two
        """;
        Console.WriteLine(text);
    }
}

การเยื้องจะถูกตัดออก

ในสตริงดิบหลายบรรทัด ช่องว่างก่อนเครื่องหมายอัญประกาศปิดจะกำหนดระดับการเยื้องพื้นฐาน และระดับนั้นจะถูกนำออกจากทุกบรรทัด

using System;

class Program {
    static void Main() {
        string s = """
            indented in source
            but flush in output
            """;
        Console.WriteLine(s);
    }
}

ใช้เครื่องหมายอัญประกาศเพิ่มเมื่อเกิดความขัดแย้ง

หากเนื้อหามีเครื่องหมายอัญประกาศสามตัว ให้ใช้เครื่องหมายอัญประกาศสี่ตัวขึ้นไปเป็นตัวแบ่งเขต เพื่อให้สตริงไม่กำกวม

using System;

class Program {
    static void Main() {
        string s = """"He said """quote""" today."""";
        Console.WriteLine(s);
    }
}

การแทรกค่าในสตริงดิบ

เติมเครื่องหมายดอลลาร์ไว้ข้างหน้าเพื่อสร้างสตริงดิบที่มีการแทรกค่า จำนวนเครื่องหมายดอลลาร์จะกำหนดว่าต้องใช้วงเล็บปีกกากี่ตัวจึงจะเริ่มนิพจน์

using System;

class Program {
    static void Main() {
        string name = "Ada";
        string s = $"""Hello, {name}!""";
        Console.WriteLine(s);
    }
}

ดอลลาร์สองตัวสำหรับวงเล็บปีกกาตามตัวอักษร

เมื่อใช้เครื่องหมายดอลลาร์สองตัว วงเล็บปีกกาตัวเดียวจะเป็นอักขระตามตัวอักษร และวงเล็บปีกกาสองตัวจะเริ่มนิพจน์ ซึ่งมีประโยชน์สำหรับแม่แบบ JSON

using System;

class Program {
    static void Main() {
        string id = "42";
        string s = $$"""{ "id": {{id}} }""";
        Console.WriteLine(s);
    }
}

สะอาดกว่ารูปแบบ Verbatim

สตริงดิบเข้ามาแทนที่การใช้งานรูปแบบเดิมแบบตรงตัวได้หลายกรณี พร้อมจัดการเครื่องหมายอัญประกาศและการเยื้องได้ชัดเจนกว่า

using System;

class Program {
    static void Main() {
        string sql = """
        SELECT *
        FROM Users
        WHERE Active = 1
        """;
        Console.WriteLine(sql);
    }
}

เหมาะสำหรับแม่แบบ

สตริงดิบทำให้การฝัง JSON, XML, HTML หรือ SQL อ่านง่าย เพราะไม่จำเป็นต้องทำสิ่งใดภายในให้เป็นอักขระหลีก

using System;

class Program {
    static void Main() {
        string html = """<a href="/home">Home</a>""";
        Console.WriteLine(html);
    }
}

เมื่อใดควรใช้

เลือกใช้สตริงดิบเมื่อข้อความมีเครื่องหมายอัญประกาศ แบ็กสแลชจำนวนมาก หรือครอบคลุมหลายบรรทัด

using System;

class Program {
    static void Main() {
        string regex = """\d{3}-\d{4}""";
        Console.WriteLine(regex);
    }
}

ตรวจสอบความเข้าใจ

ทดสอบความเข้าใจเกี่ยวกับลิเทอรัลสตริงดิบ

สรุปทบทวน

ลิเทอรัลสตริงดิบใช้เครื่องหมายอัญประกาศคู่สามตัวขึ้นไป และเก็บเนื้อหาตามตัวอักษรโดยไม่มีลำดับอักขระหลีก จึงเหมาะสำหรับเส้นทาง นิพจน์ทั่วไป JSON และ HTML สตริงหลายบรรทัดจะคงรูปแบบเค้าโครงไว้และตัดการเยื้องของเครื่องหมายอัญประกาศปิดออก

เพิ่มจำนวนเครื่องหมายอัญประกาศเมื่อเนื้อหาขัดแย้งกับตัวแบ่งเขต และเติมเครื่องหมายดอลลาร์เพื่อใช้การแทรกค่าในสตริง โดยเครื่องหมายดอลลาร์ที่เพิ่มจะเปลี่ยนวิธีตีความวงเล็บปีกกา

คำถามที่พบบ่อย

บทเรียน “ลิเทอรัลสตริงดิบ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ลิเทอรัลสตริงดิบ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ลิเทอรัลสตริงดิบ”

เขียนข้อความหลายบรรทัดและข้อความที่มีเครื่องหมายคำพูดจำนวนมากได้อย่างเรียบร้อย คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “ลิเทอรัลสตริงดิบ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม

ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. พื้นฐานการแทรกสตริง
  2. การจัดรูปแบบแบบประกอบด้วย string.Format
  3. ตัวระบุรูปแบบตัวเลขและวันที่
  4. ลิเทอรัลสตริงดิบ
← กลับไปที่ C# Academy