Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

การจัดเรียงคำในลำดับเล็กซิโคกราฟิก (Lexicographical) ใน C#

ภาพรวม

บทความนี้แสดงวิธีจัดเรียงอาร์เรย์สตริงตามลำดับเล็กซิโคกราฟิก (พจนานุกรม) โดยใช้ 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 ให้ผลลัพธ์เหมือนกัน เลือกตามความชอบ