如何 return 在 C# 中按数字排序的字符串(使用 Linq)

How to return strings that are sorted by their number(using Linq) in c#

我有一个关于如何使用 Linq 只打印按数字排序的文本的问题

例如,如果我想只打印山的名称,将按山的高度排序

注意: 我刚刚发明了一座山 class,它只包含 2 个变量——山的高度和名称(包括构造函数 toString()等等...)

输入:

Mountain mountain1 = new Mountain("Mountain1",3000);
Mountain mountain2 = new Mountain("Mountain2",2000);
Mountain mountain3 = new Mountain("Mountain3",6500);
  

输出:

Mountain3
Mountain1
Mountain2

如果可以的话,你可以做一个List/Array等等。对于这些对象,您可以按 属性 对它们进行排序。默认情况下它会 return 升序值,这就是为什么在你的情况下你需要 OrderByDescending.

var mountains = new []
{
   new Mountain("Mountain1",3000),
   new Mountain("Mountain2",2000),
   new Mountain("Mountain3",6500),
};

mountains.OrderByDescending(x => x.Height).Select(x => x.Name);

可在此处找到工作代码 Fiddle:

https://dotnetfiddle.net/szA14I