나는 목록을 받아서 다시 주문하고 원본을 대체하고 싶습니다.인라인 정렬을 수행하려면 어떻게해야합니까?
더 좋은 방법이 있나요?
var viewModel = new ViewModel();
viewModel.Children = viewModel.Children.OrderBy(x => x.Name).ToList();
나는 목록을 받아서 다시 주문하고 원본을 대체하고 싶습니다.인라인 정렬을 수행하려면 어떻게해야합니까?
더 좋은 방법이 있나요?
var viewModel = new ViewModel();
viewModel.Children = viewModel.Children.OrderBy(x => x.Name).ToList();
그것은 당신이 List<T>.Sort
방법을 찾고있는 것 같다 : 현재 나는 재 할당을하고 여기에 ...
을 바보 느낌입니다 나의 코드입니다.
viewModel.Children.Sort((a, b) => string.Compare(a.Name, b.Name));
대신 List<T>.Sort
메서드를 사용해보십시오.
지정된
System.Comparison<T>
를 사용하여 전체List<T>
요소를 정렬.
viewModel.Children.Sort((a, b) => String.Compare(a.Name, b.Name))
는 lambda expressions
을 사용하여이 시도 :
viewModel.Children.Sort((a, b) => String.Compare(a.Name, b.Name))
가 IList에 들어가 작동하지 않습니다
viewModel.Children = viewModel.Children.OrderBy(x => x.Name).ToList();
'(a) => String.Compare (a.Name)'<- 컴파일조차 확실하지 않습니다. – leppie
죄송합니다. 이제 업데이트되었습니다 .. –
내가이가 IList에 대한 작동하지 않을 생각? – shenku
아니요, 작동하지 않지만 항상 .ToList() 할 수 있습니다. –
그래, 고마워, 그거 두렵다. – shenku