.NET 목록 Concat 대 AddRange
일반 목록 에서 AddRange 와 Concat 함수 의 차이점은 무엇입니까 ? 하나가 다른 것보다 권장됩니까?
그들은 완전히 다른 의미를 가지고 있습니다.
AddRange는 목록에 다른 항목을 추가하여 목록을 수정합니다.
Concat은 목록을 수정하지 않고 목록과 다른 항목을 포함하는 새 시퀀스를 반환합니다.
원하는 의미를 가진 것을 선택하십시오.
큰 차이점은 AddRange는 호출되는 목록을 변경하는 반면 Concat은 새 목록을 생성한다는 것입니다. 따라서 그들은 다른 용도로 사용됩니다.
또한 Concat은 모든 IEnumerable에 적용되는 확장 메서드이며 새 목록을 생성하려면 .ToList ()가 필요한 IEnumerable을 반환합니다.
기존 목록의 내용을 확장하려면 AddRange를 사용하십시오.
두 개의 IEnumerable 소스에서 새 목록을 만드는 경우 .ToList와 함께 Concat을 사용합니다. 이것은 소스를 변경하지 않는 품질을 가지고 있습니다.
두 개의 List (또는 다른 IEnumerable)의 내용 만 열거해야하는 경우 매번 Concat을 사용하면 통합 목록을 보유하기 위해 실제로 새 메모리를 할당하지 않는 이점이 있습니다.
이 두 구조의 차이점에 대해 이야기하고 성능을 비교하는 흥미로운 기사를 찾았습니다.
주요 아이디어는 AddRange가 대규모 컬렉션에 대해 훨씬 빠르다는 것입니다.
여기에 링크가 있습니다
도움이 되었기를 바랍니다,
참고 URL : https://stackoverflow.com/questions/100196/net-listt-concat-vs-addrange
'Programing' 카테고리의 다른 글
Symfony 2.8, 3.0 이상에서 buildForm ()에 데이터 전달 (0) | 2020.09.22 |
---|---|
Vue-객체 배열을 깊이 관찰하고 변화를 계산합니까? (0) | 2020.09.22 |
두 변수가 파이썬에서 동일한 객체를 참조하는지 비교 (0) | 2020.09.22 |
WebView 리소스 요청에 사용자 지정 헤더 추가-Android (0) | 2020.09.22 |
"catch, when"을 사용하여 예외 잡기 (0) | 2020.09.22 |