C# 在按不同属性排序后,如何按一个属性对列表进行排序?

C# 在按不同属性排序后,如何按一个属性对列表进行排序?,c#,C#,在按元音数排序后,如何对字符串列表进行字典排序 下面是按元音数对字符串列表进行排序的代码: 私有无效排序列表() { 列表字列表=新列表(); 单词=生词(); word.name=“word”; 单词。元音=1; wordsList.Add(word); 单词=生词(); word.name=“wood”; 单词元音=2; wordsList.Add(word); 单词=生词(); word.name=“草”; 单词。元音=1; wordsList.Add(word); List-sorte

在按元音数排序后,如何对字符串列表进行字典排序

下面是按元音数对字符串列表进行排序的代码:


私有无效排序列表()
{
列表字列表=新列表();
单词=生词();
word.name=“word”;
单词。元音=1;
wordsList.Add(word);
单词=生词();
word.name=“wood”;
单词元音=2;
wordsList.Add(word);
单词=生词();
word.name=“草”;
单词。元音=1;
wordsList.Add(word);
List-sortedList=wordsList.OrderBy(o=>o.vouels.ToList();
foreach(单词w在分类列表中)
{
列表框1.Items.Add(w.name);
}
}
公共类词汇
{
公共字符串名称;
公共int元音;
}

之后,如何对元音数相同的字符串进行字典排序?

要在元音计数排序后添加字典排序,可以使用扩展方法,并按
名称
字段排序。下面的代码表示,“首先按
元音
属性排序,然后,对于具有相同元音计数的所有单词,按
名称
属性排序”:

List sortedList=wordsList
.OrderBy(wrd=>wrd.元音)
.ThenBy(wrd=>wrd.name)
.ToList();

我投票将这个问题作为离题题来结束,因为代码是有效的,但要求的是更好的方法。问:我不知道如何对元音数量相同的字符串进行字典排序,我认为有一种方法可以同时进行元音排序和字典排序,最终不用使用另一个类。(如果仅仅使用它不是一个好主意的话)“最好”是主观的,甚至“更好”也是模糊的。我们可能会编写易于阅读和测试的代码,因为我们知道这可能会更快,但节省的时间微不足道。但在另一种情况下,性能可能至关重要。是新问题的适当副本。
List<words> sortedList = wordsList
    .OrderBy(wrd => wrd.vowels)
    .ThenBy(wrd => wrd.name)
    .ToList();