我有一个清单如下:
{CT, MA, VA, NY}
我将此列表提交给函数,并获得最佳航点订单列表
{2,0,1,3}
现在我必须按照新提供的顺序重新排列列表。即重新排列后,列表应如下所示:
{VA, CT, MA, NY}
最好的方法是什么?使用 linq 有没有办法?
您可以尝试以下方法:
var list = new List<string>{"CT", "MA", "VA", "NY"};
var order = new List<int>{2, 0, 1, 3};
var result = order.Select(i => list[i]).ToList();
这似乎是最简单的方法:
oldItems = LoadItems(); //{"CT","MA","VA","NY"};
List<string> newItems = List<string>();
foreach(int idx in returnedIndexes)
{
newItems.Add(oldItems[idx]);
}