human
C＃とLINQを使用して、プロパティの1つに基づいてオブジェクトのコレクションを並べ替え、一意の結果のみを返す方法の例を示してください。
gpt
オブジェクトのコレクションを、そのプロパティのひとつに基づいてソートし、ユニークな結果だけを返す方法の例をお見せしよう。

例えば、次のような「Human」クラスがあるとしよう：
```
public class Human
{
    public string Name { get; set; }
    public char Gender { get; set; }
    public int Age { get; set; }
}
```


Collectionを次のように持っているとします：
```
List<Human> humans = new List<Human>()
{
    new Human() { Name = "Alisha", Gender = 'F', Age = 22 },
    new Human() { Name = "Manish", Gender = 'M', Age = 26 },
    new Human() { Name = "Ashim", Gender = 'M', Age = 24 },
    new Human() { Name = "Sanjana", Gender = 'F', Age = 20}
};
```


次のコードは、'Age' プロパティに基づいてコレクションをソートし、コレクションからユニークなオブジェクトだけを返します。
```
var sortedHumans = humans.OrderBy(h => h.Age).Distinct();
```


以下のように、ソートされたコレクションを繰り返し処理して、プロパティを表示することができます：
```
foreach (Human human in sortedHumans)
{
    Console.WriteLine($"{human.Name} ({human.Gender}, {human.Age})");
}
```