top of page

[C#] รวมร่าง Array ให้กลายเป็น single strings ด้วย LINQ

บ่อยครั้งที่จะต้องแปลง string ให้อยู่ในรูปแบบของ Array หรือ List หรือ Enumerable แต่บางทีเราอยากจะแปลงกลับให้เป็น string บ้าง ซึ่งอาจจะใช้ for loop เข้ามาช่วยแต่วิธีนี้ไม่ค่อยจะมีประสิทธิภาพนักดังตัวอย่าง

ตัวอย่างจะใช้ enum System.ConsoleKey ในการทดสอบ

การแปลงให้เป็น single string โดย ใช้ for … loop

Result

อีกวิธีคือสามารถใช้ string join เข้ามาช่วยได้ให้ผลลัพธ์เหมือนกับ for … loop

การแปลงให้เป็น single string โดย ใช้ String Join

Result

วิธีสุดท้ายเป็นการใช้ LINQ โดยใช้ Agregate Method เข้ามาช่วยให้การแปลงมีประสิทธิภาพมากยิ่งขึ้น

การแปลงให้เป็น single string โดย ใช้ LINQ

Result

สรุป

การแปลงข้อมูลโดยใช้ LINQ Expression สามารถกำหนด format ให้มีความยืดหยุ่นมากกว่าทั้ง 2 แบบซึ่งผลที่ออกมาได้เหมือนกันทั้งหมด แต่ก็ขึ้นอยู่กับเทคนิคส่วนบุคคลว่าจะใช้วิธีไหนในการพัฒนา ซึ่งเราสามารถนำเทคนิคนี้ไปประยุกต์พัฒนาต่อยอดกับข้อมูลรูปแบบอื่นๆ ได้

Recent Posts
Archive
Search By Tags
Follow Us
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page