Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

วิธีกำหนด String Literal หลายบรรทัดใน C#

String Literal หลายบรรทัดใน C#

ใน C# สามารถสร้างสตริงที่มีหลายบรรทัดได้โดยใช้สัญลักษณ์ @ นำหน้าสตริง (Verbatim String Literal) ทำให้สามารถเขียนสตริงหลายบรรทัดได้โดยตรง ไม่ต้องใช้ escape sequence เช่น \n หรือ \r\n

ไวยากรณ์

string str = @"บรรทัดแรก
บรรทัดที่สอง
บรรทัดที่สาม";

ตัวอย่างโค้ดสมบูรณ์

using System;

namespace Demo
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = @"Welcome User,
Kindly wait for the image to
load";
            
            Console.WriteLine(str);
        }
    }
}

ผลลัพธ์

Welcome User,
Kindly wait for the image to
load

คุณสมบัติของ Verbatim String (@)

  • รองรับหลายบรรทัดโดยตรง
  • ไม่ต้อง escape backslash: @"C:\Users\Name" แทน "C:\\Users\\Name"
  • Double quote ภายในเขียนเป็น "" (สองคำพูด): @"""Hello""" → "Hello"
  • รักษารูปแบบ whitespace ทุกอย่างรวมถึง indentation

Raw String Literals (C# 11+)

C# 11 เพิ่ม Raw String Literals ใช้ """ (สามเครื่องหมายคำพูด) ซึ่งยืดหยุ่นกว่า:

// หลายบรรทัด จัดการ indentation อัตโนมัติ
string json = """
    {
        "name": "John",
        "age": 30
    }
    """;

// สตริงเดียว (single-line)
string path = """C:\Users\Name\Documents""";

// มี double quote ภายในได้โดยตรง
string quote = """He said "Hello".""";

การเปรียบเทียบ

คุณสมบัติ @ Verbatim """ Raw String (C# 11)
หลายบรรทัด ✅ ✅
Backslash ตรงตัว ✅ ✅
Double quote ภายใน "" ตรงตัว "
จัดการ Indentation ❌ ✅ (อัตโนมัติ)
Interpolation $@"" $"""

String Interpolation กับหลายบรรทัด

var name = "User";
var message = $@"Welcome {name},
Please wait...";

// หรือ C# 11
var message11 = $"""
    Welcome {name},
    Please wait...
    """;