แบบฝึกหัด - ค้นพบ Split() และ Join()
- 10 นาที
เมื่อคุณดําเนินงานพัฒนาของคุณต่อสําหรับ บริษัท โลจิสติกส์คุณเริ่มสร้างชุดแอปพลิเคชันขนาดเล็ก แอปพลิเคชันเหล่านี้ทํางานร่วมกันเพื่อนําข้อมูลจากระบบของคู่ค้าหนึ่งแก้ไขและส่งผ่านไปยังระบบภายในในรูปแบบที่จําเป็น
เพื่อทําการแปลงข้อมูล คุณต้องยอมรับข้อมูลขาเข้าเป็นสตริง แล้วแยกวิเคราะห์เป็นองค์ประกอบข้อมูลที่เล็กลง จากนั้นจัดการเพื่อให้ตรงกับรูปแบบที่แตกต่างกันที่จําเป็น คุณสามารถแยกวิเคราะห์ข้อมูลสตริงลงในองค์ประกอบข้อมูลที่เล็กลงได้อย่างไร
วิธีการอาร์เรย์ของชนิดข้อมูลสตริง
ตัวแปรชนิด string มีวิธีการภายในจํานวนมากที่แปลงสตริงเดียวเป็นอาร์เรย์ของสตริงที่มีขนาดเล็กกว่าหรืออาร์เรย์ของอักขระแต่ละตัว
เมื่อคุณประมวลผลข้อมูลจากระบบคอมพิวเตอร์อื่นๆ บางครั้งจะมีการจัดรูปแบบหรือเข้ารหัสในลักษณะที่ไม่เป็นประโยชน์ต่อวัตถุประสงค์ของคุณ ในกรณีเหล่านี้ คุณใช้ string วิธีการอาร์เรย์ ของชนิดข้อมูลเพื่อแยกวิเคราะห์สตริงลงในอาร์เรย์
ToCharArray()ใช้ เพื่อย้อนกลับstring
ลบหรือใช้ตัวดําเนินการข้อคิดเห็นบรรทัด
//เพื่อให้ข้อคิดเห็นเกี่ยวกับรหัสทั้งหมดจากแบบฝึกหัดก่อนหน้านี้อัปเดตโค้ดของคุณใน Visual Studio Code Editor ดังนี้:
string value = "abc123"; char[] valueArray = value.ToCharArray();
ในตัวอย่าง ToCharArray() นี้ เมธอด ถูกใช้เพื่อสร้างอาร์เรย์ของ charโดยที่แต่ละองค์ประกอบของอาร์เรย์แสดงอักขระหนึ่งตัวของสตริงต้นฉบับ
ย้อนกลับ จากนั้นรวมอาร์เรย์อักขระลงในสตริงใหม่
ถัดไป ลําดับของอักขระในอาร์เรย์ จะถูกกลับรายการ จากนั้น Write จะใช้วิธีการ เพื่อรวมกลับกันเป็นเอาต์พุตเดียว
อัปเดตโค้ดของคุณใน Visual Studio Code Editor ดังนี้:
string value = "abc123"; char[] valueArray = value.ToCharArray(); Array.Reverse(valueArray); string result = new string(valueArray); Console.WriteLine(result);นิพจน์
new string(valueArray)จะสร้างอินสแตนซ์ว่างเปล่าใหม่ของSystem.Stringคลาส (ซึ่งเหมือนกับstringชนิดข้อมูลใน C#) และส่งผ่านในอาร์เรย์ char เป็นคอนสตรักเตอร์หมายเหตุ
คําสําคัญคืออะไร
newSystem.Stringคลาสเกี่ยวข้องกับstringชนิดข้อมูลใน C# อย่างไร คอนสตรักเตอร์คืออะไร คําถามที่ยอดเยี่ยมทั้งหมดที่ไม่อยู่ในขอบเขตสําหรับมอดูลนี้ ขอแนะนําให้คุณเรียนรู้เกี่ยวกับไลบรารีคลาส .NET ตลอดจนคลาสและออบเจ็กต์ใน C# เพื่อทําความเข้าใจอย่างเต็มที่ว่าสิ่งใดเกิดขึ้นเบื้องหลังด้วยนิพจน์ของโค้ดนี้ ในตอนนี้ ใช้เครื่องมือค้นหาและคู่มือ Microsoft เพื่อค้นหาตัวอย่างที่คุณสามารถใช้ในสถานการณ์เช่นนี้ที่คุณรู้ว่าต้องการดําเนินการแปลง แต่ไม่แน่ใจเกี่ยวกับวิธีการทําโดยใช้ C#บนเมนู ไฟล์ของ Visual Studio Code เลือก บันทึก
ต้องบันทึกไฟล์ Program.cs ก่อนที่จะสร้างหรือเรียกใช้โค้ด
ในแผง EXPLORER หากต้องการเปิดเทอร์มินัลที่ตําแหน่งโฟลเดอร์ TestProject ของคุณ ให้คลิกขวาที่ TestProject จากนั้นเลือก เปิดในเทอร์มินัลแบบรวม
แผงเทอร์มินัลควรเปิดขึ้น และควรมีพร้อมท์คําสั่งที่แสดงว่าเทอร์มินัลเปิดอยู่ไปยังตําแหน่งที่ตั้งโฟลเดอร์ TestProject ของคุณ
ที่พร้อมท์คําสั่งเทอร์มินัล เพื่อเรียกใช้โค้ดของคุณ ให้พิมพ์ dotnet run แล้วกด Enter
หมายเหตุ
ถ้าคุณเห็นข้อความ "ไม่พบโครงการที่จะเรียกใช้" ตรวจสอบให้แน่ใจว่าพร้อมท์คําสั่งเทอร์มินัลแสดงตําแหน่งที่ตั้งโฟลเดอร์ TestProject ที่คาดไว้ ตัวอย่าง:
C:\Users\someuser\Desktop\csharpprojects\TestProject>คุณควรเห็นผลลัพธ์ต่อไปนี้:
321cba
รวมอักขระทั้งหมดลงในสตริงค่าที่คั่นด้วยเครื่องหมายจุลภาคใหม่โดยใช้ Join()
ในบางกรณี คุณอาจจําเป็นต้องแยกแต่ละองค์ประกอบของอาร์เรย์อักขระโดยใช้เครื่องหมายจุลภาค ซึ่งเป็นแนวทางปฏิบัติทั่วไปเมื่อทํางานกับข้อมูลที่แสดงเป็นข้อความ ASCII ในการทําเช่นนั้น คุณระบุความคิดเห็นเกี่ยวกับบรรทัดของโค้ดที่คุณเพิ่มในขั้นตอนที่ 2 และใช้วิธีของStringJoin()คลาส โดยส่งผ่านอักขระที่คุณต้องการคั่นแต่ละเซกเมนต์ (เครื่องหมายจุลภาค) และอาร์เรย์เอง
อัปเดตโค้ดของคุณใน Visual Studio Code Editor ดังนี้:
string value = "abc123"; char[] valueArray = value.ToCharArray(); Array.Reverse(valueArray); // string result = new string(valueArray); string result = String.Join(",", valueArray); Console.WriteLine(result);บันทึกไฟล์โค้ดของคุณ จากนั้นใช้ Visual Studio Code เพื่อเรียกใช้โค้ดของคุณ
คุณควรเห็นผลลัพธ์ต่อไปนี้:
3,2,1,c,b,a
Split() สตริงค่าที่คั่นด้วยเครื่องหมายจุลภาคเป็นอาร์เรย์ของสตริง
เพื่อดําเนินการรหัส Split() ให้เสร็จสมบูรณ์ จะใช้วิธีการ วิธีนี้ถูกออกแบบมาสําหรับตัวแปรชนิด string และสร้างอาร์เรย์ของสตริง
ใช้ Visual Studio Code Editor เพื่อเพิ่มบรรทัดของโค้ดต่อไปนี้ที่ด้านล่างของไฟล์:
string[] items = result.Split(','); foreach (string item in items) { Console.WriteLine(item); }ใช้เวลาสักครู่เพื่อตรวจสอบโค้ดก่อนหน้า
เครื่องหมายจุลภาคถูกจัดเตรียมให้เป็น
.Split()ตัวคั่นเพื่อแยกสตริงที่ยาวหนึ่งสตริงออกเป็นสตริงที่มีขนาดเล็กลง จากนั้นโค้ดจะใช้การforeachวนรอบเพื่อทําซ้ําผ่านแต่ละองค์ประกอบของอาร์เรย์ของสตริงitemsที่สร้างขึ้นใหม่ตรวจสอบว่าโค้ดของคุณตอนนี้ปรากฏขึ้นดังนี้:
string value = "abc123"; char[] valueArray = value.ToCharArray(); Array.Reverse(valueArray); // string result = new string(valueArray); string result = String.Join(",", valueArray); Console.WriteLine(result); string[] items = result.Split(','); foreach (string item in items) { Console.WriteLine(item); }บันทึกไฟล์โค้ดของคุณ จากนั้นใช้ Visual Studio Code เพื่อเรียกใช้โค้ดของคุณ
เมื่อคุณเรียกใช้โค้ด คุณเห็นเอาต์พุตต่อไปนี้:
3,2,1,c,b,a 3 2 1 c b aอาร์เรย์
itemsที่สร้างขึ้นโดยใช้string[] items = result.Split(',');จะถูกใช้ในforeachรอบ และแสดงอักขระแต่ละตัวจากต้นฉบับstringที่มีอยู่ในvalueตัวแปร
สรุป
นี่คือจุดสําคัญบางอย่างที่ต้องจําเมื่อทํางานกับสตริงและอาร์เรย์:
- เมื่อต้องสร้างอาร์เรย์ ใช้วิธีการ เช่น
ToCharArray()และSplit() - เมื่อต้องการเปลี่ยนอาร์เรย์กลับเป็นสตริงเดียว ให้ใช้วิธีการ เช่น
Join()หรือสร้างสตริงใหม่ที่ส่งผ่านในอาร์เรย์ของchar
ตรวจสอบความรู้ของคุณ
คำติชม
หน้านี้มีประโยชน์หรือไม่
ไม่
ต้องการความช่วยเหลือในหัวข้อนี้หรือไม่
ต้องการลองใช้ Ask Learn เพื่อทําให้ชัดเจนหรือแนะนําคุณผ่านหัวข้อนี้หรือไม่