HOWTO · Csharp

C# 中按字母順序排序列表

本文介紹如何在 C# 中按字母順序對列表進行排序。

本頁內容

本指南展示瞭如何在 c# 中按字母順序對單詞進行排序。c# 中有一個內建函式,我們可以使用它對列表進行排序。

在 C# 中使用 Sort() 方法按字母順序對列表進行排序

首先,using System.Collections.Generic;,這是你需要匯入的庫才能在 c# 中使用列表。我們需要使用 Sort() 對列表進行排序。

之後,我們需要使用比較器來比較兩個字串。例如,看一下下面的程式碼。

citizens.Sort((x, y) => string.Compare(x.Name, y.Name));

在上面的程式碼行中,citizens 是列表,我們比較公民的姓名以按字母順序對公民列表進行排序。

在 C# 中使用 foreach 迴圈來列印按字母順序排列的列表

using System;

using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Generic;  // library import to use list;

namespace list_sort {
  class Program {
    static void Main(string[] args) {
      List<Person> citizens = new List<Person>(5);  // Creating List Of Person having size 5;
                                                    // Adding Persons in List
      citizens.Add(new Person("Mark", "Zuker", "Silicon Valley United States", 50));
      citizens.Add(new Person("Bill ", "Gates", "Silicon Valley United States", 70));
      citizens.Add(new Person("Jeff", "Bezoz", "Silicon Valley United States", 40));
      citizens.Add(new Person("Elon", "Musk", "Silicon Valley United States", 20));
      citizens.Add(new Person("Antony", "Gates", "Silicon Valley United States", 30));

      Console.WriteLine(":::::::::::::::::::::::::::::::Before Sorting ::::::::::::::::::::::::");
      // Prinring The List Names...
      foreach (Person p in citizens) {  // Loop through List with foreach
        Console.WriteLine(p.Name);
      }
      Console.WriteLine(":::::::::::::::::::::::::::::::After Sorting :::::::::::::::::");
      // Problem #  Sort List of Citizens According to Citizen Names orderby-alphabetical-order
      citizens.Sort((x, y) => string.Compare(x.Name, y.Name));
      foreach (Person p in citizens)  // Prniting After alphabetical Sort.
      {                               // Loop through List with foreach
        Console.WriteLine(p.Name);
      }
      Console.ReadKey();  // to Stay On Screen.
    }
  }
  class Person {
    public String Name;
    public String LastName;
    public String Address;
    public int age;
    public Person(String Name, String LastName, String Address, int Age) {
      this.Name = Name;
      this.LastName = LastName;
      this.Address = Address;
      this.age = Age;
    }
  }
}

首先,我們建立了一個 citizen 列表,然後新增了姓名、地址和年齡。我們在排序列表之前列印它,然後在排序列表之後列印它。

輸出:

:::::::::::::::::::::::::::::::Before Sorting ::::::::::::::::::::::::
Mark
Bill
Jeff
Elon
Antony
:::::::::::::::::::::::::::::::After Sorting :::::::::::::::::
Antony
Bill
Elon
Jeff
Mark