-
LINQ의 결과를 리스트나 배열로 반환C# 예제 공부일기 2020. 7. 28. 20:10
LINQ의 결과는 IEnumerable <T> 가 된다고 했다. 그렇다면 LINQ 의 결과로 리스트나 배열로 받고싶을 땐 어떻게 할까. ToList<T> () 메소드를 사용하거나 ToArray<T>() 메소드를 사용하면 된다,
static void Main(string[] args) { List<int> data = new List<int> { 123, 456, 132, 96, 13, 465, 321}; Print("data : ", data); List<int> listOdd = new List<int>(); listOdd = SelectOddAndSort(data); Print("Ordered Odd : ", listOdd); int[] ListEven; ListEven = SelectEvenAndSort(data); Print("Ordered Even : ", ListEven); } private static List<int> SelectOddAndSort(List<int> listdata) { return (from item in listdata where item % 2 == 1 orderby item ascending select item).ToList<int>(); } private static int[] SelectEvenAndSort(List<int> listdata) { return (from item in listdata where item % 2 == 0 orderby item ascending select item).ToArray<int>(); } private static void Print(string s, IEnumerable<int> data) { Console.WriteLine(s); foreach (var item in data) { Console.Write(item + " "); } Console.WriteLine(); }
메소드에서 받을 때는 전부 List로 받고 리턴할 때 List와 Array로 각각 리턴한다. 괄호로 감싸기전 return 문 안에는 IEnumerable <T>의 형태이다,
'C# 예제 공부일기' 카테고리의 다른 글
소켓 프로그래밍 (네트워크) #1 (0) 2020.07.29 쿼리의 결과를 새로운 객체 컬렉션으로 저장하는 방법 (0) 2020.07.28 LINQ를 이용한 조건 검색과 정렬 (0) 2020.07.28 LINQ의 기초 (0) 2020.07.28 List<T> 에서 Predicate<T> 델리게이트 활용 (0) 2020.07.28