파파비의 블로그
C#) yield return 본문
반응형
c#에는 특이한 기능이 있는데,
바로 yield + return을 함께 쓰는 것이다.
IEnumerable<T> Func()
{
yield return T1;
yield return T2;
yield return T3;
yield return T4;
}
이런 함수가 있다고 해보자. 이럴 경우 Func를 호출하면 맨 처음에는 T1이 return된다.
그 다음에 호출하면 T2가 호출 되며,
그 다음 호출하면 T3가 호출된다.
Func를 맨 처음 호출하면 yield return까지 실행된다.
그 후 또 호출하면 그 다음 yield return까지 실행된다.
그렇기에 위와 같은 결과가 나온다.
<T>는 안에 다양한 타입을 넣을 수 있다는 것이며, return의 type을 말하는 것이다.
유니티에서는 이 것을 활용해서 코루틴이라는 함수를 만들어서 제공하기도 한다.
이런 것들은 어디에 쓰일까?
대용량의 데이터를 움직일 때 쓰인다고 한다.
예를 들어 구글의 검색엔진의 경우 사람들이 보통 1,2페이지까지만 보니까
처음에는 1,2 페이지만 호출하고, 다음페이지를 누를 경우 다시 호출해서 더 많은 양의 정보를 가져온다고 한다.
yield만 독단적으로 쓰이는 경우가 있는지,
yield + return 말고 다른 조합은 없지는 추후에 더 공부를 한 후에 업데이트 할 것이다.
참고 동영상
https://www.youtube.com/watch?v=VXaEluyEUhI&feature=youtu.be
반응형
'개발 > c#' 카테고리의 다른 글
C#) 다형성, 암시적 형변환, 명시적 형변환 (0) | 2020.04.03 |
---|---|
C#) private, protected, public 접근 제한자 // sealed 상속 제한 예약어 (0) | 2020.04.03 |
C#) try, catch) 에러 핸들링 (0) | 2020.04.02 |
C#) break와 continue (0) | 2020.04.02 |
C#) switch문 이해하기 (0) | 2020.04.02 |
Comments