본문 바로가기

IEnumerable3

IEnumerable vs IQueryable 어떻게 다른지 알아보자 IEnumerable과 IQueryable에 대해서처음에는 이 둘이 한쌍으로 묶일 거라고는 전혀 상상하지 못했다. 일단 이름부터 너무 다르지 않은가?하지만 이 둘을 묶어서 비교하다보면 같이 설명하는 이유에 대해서 알게 될 것이다.IEnumerableLINQ-to-Object가 작동하도록 하는 인터페이스이다. public IEnumerable getListCode(string code){ return _dbset.Where(p => p.Code == code);}해당 구문을 실행하게 되면 DB 테이블을 통으로 조회를 한 후 서버 메모리에 로드하고 처리하게 된다. ex) select * from table명IQueryableLINQ-to-SQL이 작동하도록 하는 인터페이스이다. public IQuery.. 2024. 9. 25.
C# 피보나치 수열 IEnumerable, IEnumerator 상속받아서 구현하기 C# 피보나치 수열 그동안 재귀로 피보나치 수열은 여러번 구현해봤다. 이번에는 IEnumerable, IEnumerator를 상속받아서 피보나치 수열을 구현해보자. using System; using System.Collections; using System.Collections.Generic; using System.Linq; public partial class Program { static void Main(string[] args) { Console.WriteLine("Enumerable Fibo"); GetFibonacciNumbers(10); } public static void GetFibonacciNumbers(int totalCount) { var fb = new FibonacciEnum.. 2024. 4. 4.
C# IEnumerable, IEnumerator에 대해서 IEnumerator 열거자를 구현하는데 필요한 인터페이스, 클래스 내부의 컬렉션에 대해 반복할 수 있도록 도와준다. public interface IEnumerator { object Current { get; } bool MoveNext(); void Reset(); } IEnumerator는 반복자 구현에 필요한 함수 3가지를 구현하게 강제하는 인터페이스이다. 반복자를 구현하기 위해서는 최소 위의 3개의 함수를 알아서 구현하면 된다라고 틀을 잡아준다. Current 읽기 전용 프로퍼티로 현재 위치의 데이터를 object 타입으로 리턴한다. MoveNext() 다음 위치로 이동하는데 다음 위치에 데이터가 있으면 true 없으면 false 그래서 보통 컬렉션 인덱스를 1씩 증가시켜 컬렉션의 끝에 도달했.. 2023. 10. 5.