2014-02-20 4 views
0

특정 인덱스에서 배열 값을 선택하고 싶습니다. 이제 알았습니다.특정 인덱스에서 배열 값을 인덱스 배열로 정렬

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}

감사합니다 매우

답변

3
var results = ind.Select(i => xs[i]).ToArray(); 
+0

죄송합니다. 나는 우연히 잘못된 표를 쳤다. 왜 내가 이것을 알아낼 수 없었을까요? 고마워요. 남자 – user3334725

+0

걱정 마세요. Linq는 당신이 그것을 느낄 시작할 때 기쁨입니다. –

+0

감사합니다. 나는 그것을 즐길 수 있었으면 좋겠다. 지금 당장 엉덩이에 통증이 있습니다. – user3334725

0
var array = xs.Zip(ind, (x, i) => new Tuple<int, int>(x, i)) 
      .OrderBy(t => t.Item2) 
      .Select(t => t.Item1) 
      .ToArray(); 
관련 문제