สตริงและข้อความ: เปลี่ยนแปลงไม่ได้ การแทรกค่า verbatim, StringBuilder และการเปรียบเทียบ
ทำความเข้าใจการเปลี่ยนแปลงไม่ได้ของสตริง ใช้การแทรกค่า สตริงแบบเอสเคปและ verbatim สร้างข้อความอย่างมีประสิทธิภาพด้วย StringBuilder เปรียบเทียบอย่างปลอดภัย และทบทวนพื้นฐาน char/Unicode
สตริงและข้อความ: เปลี่ยนแปลงไม่ได้ การแทรกค่า verbatim, StringBuilder และการเปรียบเทียบ เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 3 บทเรียน
ภาพรวมข้อความ
เป้าหมาย: ใช้สตริงอย่างปลอดภัยและมีประสิทธิภาพ
- ความไม่เปลี่ยนแปลง
- การแทรกค่าและลำดับหลีก
- สตริงแบบตามตัวอักษร
- StringBuilder
- ข้อควรทราบเกี่ยวกับการเปรียบเทียบและวัฒนธรรม
ความไม่เปลี่ยนแปลง
ไม่เปลี่ยนแปลง: เมธอดอย่าง ToUpper หรือ Replace จะส่งคืนสตริงใหม่ ส่วนสตริงเดิมยังคงเหมือนเดิม
using System;
public class Program
{
public static void Main(string[] args)
{
string s = "hello";
string upper = s.ToUpper(); // new string
Console.WriteLine("s = " + s); // hello
Console.WriteLine("upper = " + upper);// HELLO
string replaced = s.Replace("h", "y"); // new string
Console.WriteLine("replaced = " + replaced);
}
}
การแทรกค่าและลำดับหลีก
การแทรกค่าใช้ $"..." ลำดับหลีกที่พบบ่อย ได้แก่ \\n บรรทัดใหม่ \\" เครื่องหมายอัญประกาศ และ \\\\ แบ็กสแลช
using System;
public class Program
{
public static void Main(string[] args)
{
string name = "Ada";
int score = 95;
// C# 6 string interpolation and escapes
string msg = $"Hi {name}, score = {score}";
string quoted = "She said \"hi\"";
string line = "first line\nsecond line";
Console.WriteLine(msg);
Console.WriteLine(quoted);
Console.WriteLine(line);
}
}
สตริงแบบตามตัวอักษร
สตริงแบบ ตามตัวอักษร เริ่มต้นด้วย @ เหมาะสำหรับเส้นทางของ Windows และข้อความหลายบรรทัด
using System;
public class Program
{
public static void Main(string[] args)
{
// Verbatim string keeps backslashes and newlines as typed
string path = @"C:\Projects\Demo\readme.txt";
string multi = @"Line1
Line2";
Console.WriteLine(path);
Console.WriteLine(multi);
}
}
StringBuilder
สำหรับการต่อสตริงหลายครั้ง ให้ใช้ StringBuilder เพื่อลดการจัดสรรหน่วยความจำและเพิ่มประสิทธิภาพ
using System;
using System.Text;
public class Program
{
public static void Main(string[] args)
{
var sb = new StringBuilder();
for (int i = 1; i <= 3; i = i + 1)
{
sb.Append("Item ").Append(i).Append(", ");
}
string result = sb.ToString();
Console.WriteLine(result);
}
}
การเปรียบเทียบและวัฒนธรรม; อักขระ
ใช้ StringComparison เพื่อควบคุมการเปรียบเทียบ เช่น OrdinalIgnoreCase โดย char คือหน่วยโค้ด UTF-16 และอีโมจิบางตัวต้องใช้คู่ตัวแทน ซึ่งอยู่นอกเหนือจากบทนำนี้
using System;
using System.Globalization;
public class Program
{
public static void Main(string[] args)
{
string a = "file";
string b = "FILE";
// Case-insensitive, culture-invariant comparison
bool same = string.Equals(a, b, StringComparison.OrdinalIgnoreCase);
Console.WriteLine("Same (ord ignore case) = " + same);
// Culture example: ToUpper with current culture
string iDot = "i";
string upper = iDot.ToUpper(CultureInfo.CurrentCulture);
Console.WriteLine("Upper(i) in current culture = " + upper);
}
}
ความหมายของความไม่เปลี่ยนแปลง
ทบทวน
ทบทวน: สตริงไม่เปลี่ยนแปลง ให้ใช้การแทรกค่าและลำดับหลีก เลือกใช้ @ สำหรับเส้นทาง และใช้ StringBuilder เมื่อต้องต่อสตริงหลายครั้ง เปรียบเทียบด้วย StringComparison และจำไว้ว่า char คือหน่วย UTF-16
คำถามที่พบบ่อย
บทเรียน “สตริงและข้อความ: เปลี่ยนแปลงไม่ได้ การแทรกค่า verbatim, StringBuilder และการเปรียบเทียบ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “สตริงและข้อความ: เปลี่ยนแปลงไม่ได้ การแทรกค่า verbatim, StringBuilder และการเปรียบเทียบ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “สตริงและข้อความ: เปลี่ยนแปลงไม่ได้ การแทรกค่า verbatim, StringBuilder และการเปรียบเทียบ”
ทำความเข้าใจการเปลี่ยนแปลงไม่ได้ของสตริง ใช้การแทรกค่า สตริงแบบเอสเคปและ verbatim สร้างข้อความอย่างมีประสิทธิภาพด้วย StringBuilder เปรียบเทียบอย่างปลอดภัย และทบทวนพื้นฐาน char/Unicode คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน
บทเรียน “สตริงและข้อความ: เปลี่ยนแปลงไม่ได้ การแทรกค่า verbatim, StringBuilder และการเปรียบเทียบ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม
ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- สตริงและข้อความ: เปลี่ยนแปลงไม่ได้ การแทรกค่า verbatim, StringBuilder และการเปรียบเทียบ
- StringBuilder การเปรียบเทียบ และข้อสังเกตเรื่องวัฒนธรรม
- char พื้นฐาน Unicode และการแยกวิเคราะห์/จัดรูปแบบอย่างง่าย