반응형
반복기는 for문/foreach문이 필요할때 호출해서 사용하는 방법입니다.
결과화면
Program.cs |
//Iterator : 내가 만든 객체를 foreach문으로 //돌리고자할 때 반복기가 구현되어있어야 함... using System; class 반복기 { static void Main(string[] args) { int[] data = { 1, 2, 3 }; foreach (var item in data) //var 대신 int로 써도 됨 { Console.WriteLine(item); } Car hyundai;//Class hyundai= new Car(3); //Constructor hyundai[0] = "에쿠스"; //Indexer hyundai[1] = "제네시스"; hyundai[2] = "그랜저"; //Length Property for (int i = 0; i < hyundai.Length; i++) { Console.WriteLine(hyundai[i]); } //Iterator foreach (var item in hyundai) { Console.WriteLine(item); } } } //19번 라인을 실행하기 위해서는 반드시 반복기가 구현되어있어야 한다. //구현은 Car.cs에서 |
Car.cs |
using System; public partial class Car { public int Length { get; set; } private string[] names; public Car(int length) { this.Length = length; names = new string[length]; } public string this[int index] { get { return names[index]; } set { names[index] = value; } } //Iterator : 반복기 : GetEnumerator()메서드 public System.Collections.IEnumerator GetEnumerator() { for (int i = 0; i < names.Length; i++) { yield return names[i]; } } } //닷넷 기본으로 partial 붙어있음 //21줄 : (foreach문 사용가능) 공식 |
반응형
'C#' 카테고리의 다른 글
71.C# - 예외처리 (0) | 2009.08.17 |
---|---|
70.C# - 변환연산자 (0) | 2009.08.17 |
68.C# - 암시적으로 형식화된 로컬변수 (var) (0) | 2009.08.17 |
67.C# - 분할클래스 (0) | 2009.08.17 |
66.C# - 추가연산자 (0) | 2009.08.17 |
Comments