답변
Linq는이를위한 내장 된 방법이있을 때 과도합니다. 당신이 배열을 의미하는 경우
, 단지 Array.Sort
사용 : 당신이 List<T>
을 의미하는 경우
Array.Sort(items, (x, y) => x.Name.CompareTo(y.Name));
가, 거기 Sort
기능을 사용
items.Sort((x, y) => x.Name.CompareTo(y.Name));
+1 Linq에 착수하기보다는 정렬을위한 네이티브 List 지원을 사용하기 위해 +1합니다 (Linq에 문제가있는 것은 아니지만,이 경우에는 잔인한 IMHO이며 더 큰 명확성을주지 못합니다) –
지원에 내장 된 사용에 대해서는 사실이지만 누군가 다른 사람이 널 사례를 돌보지 않는다고 말한 것처럼 ... 이제는 위의 경우를 처리하도록 변경할 수 있지만 더 이상 코드는 더 이상 깨끗하지 않습니다. 그 다음에 간단한 orderby와 null checking 중 위의 선택 중 하나를 선택합니다 ... 나는 울타리에있어 어떤 경우에 더 좋습니까? – anthonyv
@anthonyv - 모든 공정한 점. 그리고 네 - 일단 null 체크를 넣으면 간결함을 잃게됩니다. 여전히 사람들이 여러 가지 솔루션을 테이블에 놓는 것을 보는 것이 좋습니다. –
linq를 사용해 보셨나요?
using System.Collections.Generic;
using System.Linq;
namespace Demo
{
public class Test
{
public void SortTest()
{
var myList = new List<Item> { new Item { Name = "Test", Id = 1 }, new Item { Name = "Other", Id = 1 } };
var result = myList.OrderBy(x => x.Name);
}
}
public class Item
{
public string Name { get; set; }
public int Id { get; set; }
}
}
을 이러한 개체의 목록을 처리하는 경우 가장 쉬운 방법은 Sort 메서드에 비교를 제공하는 것입니다.
var list = new List<MyObject>();
...
list.Sort((item1, item2) => item1.Name.CompareTo(item2.Name));
(위의 샘플은 이름에서 null 검사를 수행하지 않습니다)
문자열 구현은 IComparable<string>
이므로 좋고 간단합니다. 당신이 당신의 클래스에 IComparable<MyObject>
을 구현하기위한 대안은 될 것이다, 그리고 당신은 단지 List<T>
클래스의 Sort
방법은 사용자 정의 비교 걸리는 과부하가 list.Sort()
호출 할 수
list.Sort((x,y) => x.Name.CompareTo(y.Name));
- 1. 문자열 이름으로 목록을 주문하십시오.
- 2. LINQ로 두 개의 다른 C# 목록을 주문하십시오.
- 3. 테이블의 개체 목록을
- 4. 관계가있는 별도 엔티티의 필드를 기반으로 엔티티 목록을 주문하십시오.
- 5. 강력한 형식의 개체 목록을 serialize
- 6. 개체 참조 목록을 유지하는 방법
- 7. BLToolKit : 개체 목록을 삽입하는 방법?
- 8. ASP의 Com 개체 목록을 얻으십시오
- 9. C# 개체 오류의 JSON 목록을
- 10. DataGridView에서 개체 목록을 가져 옵니까?
- 11. ASP.NET의 개체 목록을 캐시하는 방법
- 12. IF EXISTS로 주문하십시오.
- 13. 이 주문서를 주문하십시오.
- 14. PHP 배열을 주문하십시오.
- 15. Solr 결과를 우정으로 주문하십시오.
- 16. 식별자없이 mysql 결과를 주문하십시오.
- 17. FQL : 좋아하는 사진을 주문하십시오
- 18. cakephp : counterCache를 사용하여 주문하십시오.
- 19. 셸 개체 목록을 표시하는 방법은 무엇입니까?
- 20. C#에서 개체 목록을 어떻게 바꾸는가?
- 21. 개체 목록을 포함하는 WPF 사용자 지정 컨트롤
- 22. 개체 목록을 만드는 더 좋은 방법이 있습니까?
- 23. Sharepoint 2010 데이터베이스에 개체 목록을 저장해야합니다.
- 24. 페이지의 개체 인스턴스 전체 목록을 얻는 방법
- 25. 개체 목록에서 속성 목록을 반환 중입니다.
- 26. django 기본 키 목록으로 개체 목록을 변환
- 27. 문자열 개체 목록을 기반으로 프로세스 목록 필터링
- 28. ASP.NET에서 개체 목록을 JSON으로 변환하는 방법
- 29. 개체 목록을 페이징하고 AJAX를 사용하여 다시 채우기.
- 30. LINQ 개체 목록을 Excel 파일로 내보내기
좀 더 정보를 객체에 도움이 될 것입니다. –