C#/수업 내용

[C#] Iterator, yield

JSH1 2021. 9. 10. 13:20
        public App()
        {
            foreach(int num in GetSingleDigitNumbers())
            {
                Console.WriteLine(num);
            }
        }

        IEnumerable<int> GetSingleDigitNumbers() // 반복기 메서드
        {
            yield return 0;
            yield return 1;
            yield return 2;
            yield return 3;
            yield return 4;

            for(int i=0; i<5; i++)
            {
                yield return i + 5;
            }
        }


            List<int> list = new List<int> { 1, 2, 3, 4, 5 };

            // foreach문은 읽을때만 사용, 컬렉션 요소를 변경하고 싶다면 for문 사용
            //foreach(int n in list)
            //{
            //    Console.WriteLine(n);
            //}

            // 시퀀스 요소를 직접 컨트롤 하고싶으면 사용
            IEnumerator<int> enumerator = list.GetEnumerator();
            while (enumerator.MoveNext())
            {
                Console.WriteLine(enumerator.Current);
            }

'C# > 수업 내용' 카테고리의 다른 글

[C#] params, out, ref  (0) 2021.09.13
[C#] thread, lock  (0) 2021.09.12
[C#] Json을 사용한 인벤토리 만들기 연습  (0) 2021.09.10
[C#] Newtonsoft.Json 파일 읽기, 역직렬화  (0) 2021.09.08
[C#] Newtonsoft.Json 설치  (0) 2021.09.08