IEnumerable, IEnumerator
컬렉션을 단순히 반복하고 지원해줍니다.
IEnumerable 메서드
GetEumerator() |
컬렉션을 반복하는 열거자를 반환 |
IEnumerator 메서드
MoveNext() |
열거자를 컬렉션의 다음 요소로 이동 |
Reset() |
컬렉션의 첫 번째 요소 앞의 초기 위치에 열거자를 설정 |
IEnumerator 예제
Program.cs
class Program { static void Main(string[] args) { // IEnumerator 를 이용한 순방향 검색 ////// string 객체에는 IEnumerable 인터페이스가 구현되어있습니다. /// string[] strList = { "jeong", "kang", "won", "lee", "hee" }; IEnumerator e = strList.GetEnumerator(); while (e.MoveNext()) { Console.WriteLine(e.Current); } //Console.WriteLine(e.Current); // 이미 열거가 완료되어 에러 e.Reset(); e.MoveNext(); Console.WriteLine(e.Current); // "jeong" 출력 Console.ReadLine(); } }
IEnumerable(Linq) 예제
class Program { static void Main(string[] args) { // Linq ////// string 객체에는 IEnumerable 인터페이스가 구현되어있습니다. /// string[] strList = { "jeong", "kang", "won", "lee", "hee" }; // 조건 : 글자수가 3개 이하인 글자 //IEnumerableenumerable = strList.Where(str => str.Length <= 3); IEnumerable enumerable = from str in strList where str.Length <= 3 select str; IEnumerator e = enumerable.GetEnumerator(); while (e.MoveNext()) { Console.WriteLine(e.Current); } Console.ReadLine(); } }
'프로그래밍 > .NET' 카테고리의 다른 글
[C#]수행 시간측정 (0) | 2013.04.16 |
---|---|
[ASP.NET]FindControl not working in content page (0) | 2013.04.06 |
[C#]string to HtmlDocument (Html Agility Pack) (0) | 2013.02.20 |
[C#]CSV파일 읽기 (0) | 2013.02.19 |
[C#]WebBrowser 컨트롤 사용시 세션 초기화 (0) | 2013.02.12 |