私が次のリストを持っていると仮定します:
IList<string> list = new List<string>();
list.Add("Mouse");
list.Add("Dinner");
list.Add("House");
list.Add("Out");
list.Add("Phone");
list.Add("Hat");
list.Add("Ounce");
LINQを使用して、「ou」を含む単語を選択し、「ou」で始まる単語が最初にリストされ、次に「ou」を含むが「ou」で始まらない単語がリストされるように選択を並べ替えるにはどうすればよいですか。私が作成しようとしているリストは次のようになります。
Ounce
Out
House
Mouse
私は次のことを思いついたが、それは機能していない:
list.Where(x => x.Contains("ou"))
.OrderBy(x => x.StartsWith("ou"))
.Select(x => x);