ภาพรวม
บทความนี้แสดงวิธีจัดเรียงอาร์เรย์สตริงตามลำดับเล็กซิโคกราฟิก (พจนานุกรม) โดยใช้ LINQ query syntax
โค้ดตัวอย่าง
using System;
using System.Linq;
class Program {
static void Main() {
string[] arr = { "Indian", "Moroccon", "American" };
var sorted = from a in arr
orderby a
select a;
foreach (string res in sorted) {
Console.WriteLine(res);
}
}
}
ผลลัพธ์
American
Indian
Moroccon
วิธีอื่นๆ ในการจัดเรียง
1. ใช้ Array.Sort (แก้ไขอาร์เรย์ต้นฉบับ)
Array.Sort(arr); // จัดเรียงแบบ in-place
2. ใช้ LINQ Method Syntax
var sorted = arr.OrderBy(x => x);
3. จัดเรียงแบบ descending
var sortedDesc = arr.OrderByDescending(x => x);
หมายเหตุ
- การจัดเรียงเป็น case-sensitive โดยค่าเริ่มต้น (ตัวพิมพ์ใหญ่จะอยู่ก่อนตัวพิมพ์เล็ก)
- ใช้
StringComparer.OrdinalIgnoreCaseหากต้องการจัดเรียงไม่สนใจ case - LINQ query syntax และ method syntax ให้ผลลัพธ์เหมือนกัน เลือกตามความชอบ