如何 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:
我有一个关于如何使用 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: