我正在尝试对List<string>包含每个数字后跟字母的元素列表的a 进行排序。这就是为什么每个元素不能简单地转换为 int 的原因。该列表在运行时生成,但例如,该列表可能包含以下元素:
10 dog, 53 cow, 2 crow, 29 horse, 12 rabbit, 107 frog, 35 cat, 7 dragon
Run Code Online (Sandbox Code Playgroud)
我试过这样排序:
public void Compare()
{
sortedList = sortedList.OrderBy(g => g).ToList();
}
Run Code Online (Sandbox Code Playgroud)
结果:
10 dog, 107 frog, 12 rabbit, 2 crow, 29 horse, 35 cat, 53 cow, 7 dragon
Run Code Online (Sandbox Code Playgroud)
很明显,它是按字母顺序排序的,因为在这个例子中,107 排在 12 之前,而 107 中的“10”小于 12。但我需要以某种方式对它进行排序,使其按照单词前面的数字顺序返回。
我需要这个例子来返回:
2 crow, 7 dragon, 10 dog, 12 rabbit, 29 horse, 35 cat, 53 cow, 107 frog
Run Code Online (Sandbox Code Playgroud)
我对编码很陌生,这让我完全难住了。关于如何达到我想要的结果的任何建议?