我想从特定索引中选择数组值 现在我有了。
var xs = new[] { 11,12,13,14,15 };
var ind = new[] { 3,2,1,0 };
var results = xs.Where((x, idx) => ind.Contains(idx)).ToArray();
结果是{11,12,13,14} 但是,我希望我的结果按索引数组排序,该数组应为{14,13,12,11}
非常感谢
答案 0 :(得分:3)
var results = ind.Select(i => xs[i]).ToArray();
答案 1 :(得分:0)
var array = xs.Zip(ind, (x, i) => new Tuple<int, int>(x, i))
.OrderBy(t => t.Item2)
.Select(t => t.Item1)
.ToArray();