2013-07-31 3 views
-4

모든 상태 이름을 포함하는 string 목록의 목록이 있습니다. 몇 개 주 (전 뉴욕, 캘리포니아 등)를 목록의 맨 위에 표시해야합니다. LINQ를 사용하여 어떻게 할 수 있습니까? FYI : 목록은 알파벳순으로 정렬 된 알레입니다.LINQ를 사용하여 문자열 목록 바꾸기

그저 단순한 목록이며 몇 가지 중요 상태가 맨 위에 있어야합니다. 기준 없음.

+2

그리고 이것은 모두 서버 측입니까? 왜 'jquery'태그가 필요한가요? 질문을 수정하고 기존 코드를 추가하십시오. – nnnnnn

+2

목록 상단에있는 기준은 무엇입니까? 또는 그들의 이름 옆에 있어야하는 몇 가지가 있습니까? –

+0

"LINQ를 사용하는 이유", "몇 가지 상태"가 제공되는 등 –

답변

7

다음은 상태 대신 문자를 사용하는 개념 증명입니다.

var all = new List<string>() {"a","b","c","d","e"}; 
var top = new List<string>() {"c","d"}; 

var finalList = top.Concat(all.Except(top)); 

생각

는 전체 국가 ( all)의 목록과 상단 ('맨')에서 원하는 것들의 목록을 가지고있다. 그런 다음 맨 위에있는 것을 가져 와서 Except 메소드를 사용하여 만든 나머지 목록을 연결하십시오.

+1

고마워요. – Maninder

0
List<string> importantStates = {...};//It's up to you 
var list = states.OrderBy(x=>!importantStates.Contains(x)); 
관련 문제