HOWTO · Csharp
C# でアルファベット順にリストを並べ替える
この記事では、C# でリストをアルファベット順に並べ替える方法を示します。
このページの内容
このガイドでは、C# で単語をアルファベット順に並べ替える方法を示します。C# には、リストの並べ替えに使用できる組み込み関数があります。
C# で Sort() メソッドを使用してリストをアルファベット順に並べ替える
まず、System.Collections.Generic;を使用、これは c# でリストを使用するためにインポートする必要のあるライブラリです。リストをソートするには、Sort() を使用する必要があります。
その後、コンパレータを使用して 2つの文字列を比較する必要があります。たとえば、次のコードを見てください。
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;
}
}
}
まず、citizens のリストを作成し、次に名前、住所、年齢を追加しました。リストを並べ替える前に印刷し、リストを並べ替えてから印刷しました。
出力:
:::::::::::::::::::::::::::::::Before Sorting ::::::::::::::::::::::::
Mark
Bill
Jeff
Elon
Antony
:::::::::::::::::::::::::::::::After Sorting :::::::::::::::::
Antony
Bill
Elon
Jeff
Mark