IEnumberable에서 목록으로 변환
에서 변환합니다.IEnumerable<Contact>
로.List<Contact>
어떻게 해야 하나요?
LINQ를 사용하면 매우 간단하게 이 작업을 수행할 수 있습니다.
이 사용법이 C# 파일의 맨 위에 있는지 확인합니다.
using System.Linq;
그런 다음 확장 방법을 사용합니다.
예:
IEnumerable<int> enumerable = Enumerable.Range(1, 300);
List<int> asList = enumerable.ToList();
일반 노인과 함께 일하는 경우System.Collections.IEnumerable
대신에IEnumerable<T>
사용할 수 있습니다.enumerable.Cast<object>().ToList()
의 구현을 사용하는 경우System.Collections.IEnumerable
당신은 그것을 a로 변환하기 위해 다음과 같이 할 수 있습니다.List
다음은 Enumerable을 사용합니다.변환할 주조 방법IEnumerable
일반적으로List
.
// ArrayList implements IEnumerable interface
ArrayList _provinces = new System.Collections.ArrayList();
_provinces.Add("Western");
_provinces.Add("Eastern");
List<string> provinces = _provinces.Cast<string>().ToList();
일반 버전을 사용하는 경우IEnumerable<T>
변환은 바로 진행됩니다.둘 다 제네릭이기 때문에 아래와 같이 할 수 있습니다.
IEnumerable<int> values = Enumerable.Range(1, 10);
List<int> valueList = values.ToList();
하지만 만약에IEnumerable
null입니다. 로 변환하려고 할 때List
당신은 받을 것입니다.ArgumentNullException
값은 null일 수 없습니다.
IEnumerable<int> values2 = null;
List<int> valueList2 = values2.ToList();
그러므로 다른 답변에서 언급한 바와 같이, 다음을 수행하는 것을 기억하십시오.null
a로 변환하기 전에 확인List
.
저는 이것을 위해 확장 방법을 사용합니다.내 확장 방법은 먼저 열거형이 null인지 확인하고, 그런 경우 빈 목록을 만듭니다.이렇게 하면 null을 명시적으로 확인할 필요 없이 각 작업을 수행할 수 있습니다.
다음은 매우 고안된 예입니다.
IEnumerable<string> stringEnumerable = null;
StringBuilder csv = new StringBuilder();
stringEnumerable.ToNonNullList().ForEach(str=> csv.Append(str).Append(","));
확장 방법은 다음과 같습니다.
public static List<T> ToNonNullList<T>(this IEnumerable<T> obj)
{
return obj == null ? new List<T>() : obj.ToList();
}
다른 방법
List<int> list=new List<int>();
IEnumerable<int> enumerable =Enumerable.Range(1, 300);
foreach (var item in enumerable )
{
list.Add(item);
}
언급URL : https://stackoverflow.com/questions/7617771/converting-from-ienumerable-to-list
'programing' 카테고리의 다른 글
현재 Git 브랜치를 삭제하려면 어떻게 해야 합니까? (0) | 2023.05.02 |
---|---|
튜플 목록을 여러 목록으로 변환하는 방법은 무엇입니까? (0) | 2023.05.02 |
Bash에서 문자열에서 새 줄을 제거하는 방법 (0) | 2023.04.27 |
메이븐 관리 종속성에 대한 Eclipse에 연결된 소스 jar 파일 가져오기 (0) | 2023.04.27 |
선택 태그(Angular 2)에서 ngModel 변경을 감지하려면 어떻게 해야 합니까? (0) | 2023.04.27 |