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

วนซ้ำผ่านสตริง

สตริงในฐานะลำดับ char

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

สตริงเป็นลำดับ

string คือลำดับของค่า char ที่เรียงต่อกัน

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

string text = "Hello";
// 'H', 'e', 'l', 'l', 'o'

คุณสมบัติ Length

string ทุกตัวมีคุณสมบัติ Length ซึ่งบอกว่ามีอักขระอยู่กี่ตัว

จะใช้ Length เพื่อควบคุมลูปและทราบดัชนีสุดท้ายที่ใช้งานได้ ซึ่งจะเป็น Length - 1 เสมอ

class Program
{
    static void Main()
    {
        string text = "Hello";
        System.Console.WriteLine(text.Length);
    }
}

การวนซ้ำด้วย foreach

วิธีที่ง่ายที่สุดในการเข้าถึงอักขระแต่ละตัวคือใช้ลูป foreach

ลูปนี้มอบค่า char ให้หนึ่งค่าต่อการวนซ้ำ โดยไม่จำเป็นต้องใช้ดัชนี จึงเป็นตัวเลือกที่อ่านง่ายที่สุดเมื่อไม่จำเป็นต้องทราบตำแหน่ง

class Program
{
    static void Main()
    {
        string text = "Hi!";
        foreach (char c in text)
            System.Console.WriteLine(c);
    }
}

การวนซ้ำด้วย for และดัชนี

ลูป for ให้ดัชนี ซึ่งจำเป็นเมื่อ ตำแหน่งมีความสำคัญ

ให้ดัชนีเริ่มจาก 0 ไปจนถึง Length - 1 แล้วอ่านอักขระแต่ละตัวด้วย text[i]

class Program
{
    static void Main()
    {
        string text = "Hi!";
        for (int i = 0; i < text.Length; i++)
            System.Console.WriteLine(text[i]);
    }
}

ดัชนีเริ่มต้นที่ศูนย์

อักขระจะถูกกำหนดหมายเลขโดยเริ่มจาก 0 ดังนั้นอักขระตัวแรกจึงอยู่ที่ดัชนี 0

สำหรับ "Code" ค่า text[0] คือ 'C' และค่า text[3] คือ 'e' การอ่านดัชนีที่มีค่ามากเกินไปจะทำให้เกิดข้อผิดพลาด

string text = "Code";
char first = text[0]; // 'C'
char last = text[3];  // 'e'

การนับอักขระที่กำหนด

การวนซ้ำช่วยให้นับอักขระที่ตรงตามเงื่อนไขได้

โปรแกรมนี้นับจำนวนสระในคำ โดยตรวจสอบอักขระแต่ละตัวกับชุดอักขระขนาดเล็ก

class Program
{
    static void Main()
    {
        string text = "banana";
        int count = 0;
        foreach (char c in text)
            if (c == 'a') count++;
        System.Console.WriteLine(count);
    }
}

การใช้เมธอดช่วยของ char ร่วมกัน

ภายในลูป สามารถเรียกใช้เมธอดช่วยของ char ที่ได้เรียนรู้ไปก่อนหน้านี้ได้

ตัวอย่างเช่น นับเฉพาะตัวเลขในสตริงโดยตรวจสอบอักขระแต่ละตัวด้วย char.IsDigit

class Program
{
    static void Main()
    {
        string text = "a1b2c3";
        int digits = 0;
        foreach (char c in text)
            if (char.IsDigit(c)) digits++;
        System.Console.WriteLine(digits);
    }
}

การสร้างผลลัพธ์ที่แปลงแล้ว

สามารถวนซ้ำและรวบรวมผลลัพธ์ใหม่ไปพร้อมกันได้

ลูปนี้อ่านอักขระแต่ละตัว เปลี่ยนเป็นตัวพิมพ์ใหญ่ด้วย char.ToUpper แล้วแสดงผล สตริงเดิมจะไม่ถูกเปลี่ยนแปลง เพราะสตริงไม่สามารถเปลี่ยนแปลงได้

class Program
{
    static void Main()
    {
        string text = "loud";
        foreach (char c in text)
            System.Console.Write(char.ToUpper(c));
    }
}

สตริงเปลี่ยนแปลงไม่ได้

ไม่สามารถเปลี่ยนอักขระโดยตรงด้วย text[0] = 'X' ได้ เนื่องจากจะเกิดข้อผิดพลาดขณะคอมไพล์

สตริงเปลี่ยนแปลงไม่ได้ หมายความว่าอักขระภายในจะไม่เปลี่ยนแปลง หากต้องการข้อความที่แตกต่างออกไป จะต้องสร้างสตริงใหม่แทนการแก้ไขสตริงเดิม

string text = "cat";
// text[0] = 'b'; // not allowed

การกลับลำดับด้วยการวนซ้ำ

การวนซ้ำจากดัชนีสุดท้ายย้อนลงมาถึง 0 ช่วยให้แสดงอักขระในลำดับย้อนกลับได้

เริ่มดัชนีที่ Length - 1 แล้วลดค่าลงจนกระทั่งถึง 0

class Program
{
    static void Main()
    {
        string text = "abc";
        for (int i = text.Length - 1; i >= 0; i--)
            System.Console.Write(text[i]);
    }
}

foreach เทียบกับ for

ใช้ foreach เมื่อต้องการเพียงอักขระแต่ละตัวและไม่ต้องการตำแหน่งของอักขระ

ใช้ลูป for เมื่อต้องการดัชนี ต้องการข้ามอักขระ หรือต้องการวนซ้ำตามลำดับที่กำหนดเอง เช่น ย้อนกลับ ทั้งสองแบบเข้าถึงอักขระชุดเดียวกัน

ตรวจความเข้าใจ

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

ทบทวน

string คือลำดับของอักขระที่สามารถวนซ้ำผ่านได้

ใช้ foreach สำหรับการวนซ้ำแบบง่าย และใช้ลูป for ร่วมกับดัชนีเมื่อตำแหน่งมีความสำคัญ คุณสมบัติ Length ให้จำนวนอักขระ ดัชนีเริ่มจาก 0 และสตริงเปลี่ยนแปลงไม่ได้ ดังนั้นการแปลงข้อความจึงสร้างสตริงใหม่เสมอ

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

บทเรียน “วนซ้ำผ่านสตริง” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “วนซ้ำผ่านสตริง”

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

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

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

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

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

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

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

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

  1. ชนิดข้อมูล char
  2. เมธอดช่วยจัดการ Char
  3. วนซ้ำผ่านสตริง
  4. สร้างสตริง
← กลับไปที่ C# Academy