> 일반적인 문제 > Yield의 핵심 원리는 무엇입니까?

Yield의 핵심 원리는 무엇입니까?

coldplay.xixi
풀어 주다: 2020-07-01 15:34:07
원래의
3509명이 탐색했습니다.

Yield의 핵심 원리는 열거자 객체에 값을 제공하거나 반복의 끝을 알리기 위해 반복기 블록에서 사용된다는 것입니다. 해당 명령문은 본문으로 사용할 수 있는 반복기 블록에만 나타날 수 있습니다. 메소드, 연산자 또는 접근자.

Yield의 핵심 원리는 무엇입니까?

Yield의 핵심 원칙은 다음과 같습니다.

은 반복자 블록에서 열거자 개체에 값을 제공하거나 반복의 끝을 알리는 데 사용됩니다.

다음 형식 중 하나를 가집니다.

  • 코드 복사 yield return <expression>;yield break yield return <expression>;yield break; 

  • 备注计算表达式并以枚举数对象值的形式返回;

  • expression 必须可以隐式转换为迭代器的 yield 类型。

yield 语句只能出现在 iterator 块中,该块可用作方法、运算符或访问器的体。

这类方法、运算符或访问器的体受以下约束的控制:

  • 不允许不安全块。

  • 方法、运算符或访问器的参数不能是 ref out

  • yield 语句不能出现在匿名方法中。

当和 expression 一起使用时,yield return 语句不能出现在 catch 块中或含有一个或多个 catch 子句的 try 块中。示例在下面的示例中,迭代器块(这里是方法 Power(int number, int power))中使用了 yield 语句。当调用 Power 方法时,它返回一个包含数字幂的可枚举对象。

注意 Power 方法的返回类型是 IEnumerable

🎜Remarks 식을 계산하여 다음과 같이 사용합니다. 열거자 객체 값의 형태로 반환됩니다. 🎜🎜🎜expression은 암시적으로 반복자의 산출 유형으로 변환 가능해야 합니다. 🎜🎜🎜yield 문은 메서드, 연산자 또는 접근자의 본문으로 사용할 수 있는 반복기 블록 내에서만 나타날 수 있습니다. 🎜🎜🎜해당 메서드, 연산자 또는 접근자의 본문에는 다음 제약 조건이 적용됩니다. 🎜🎜🎜🎜안전하지 않은 블록은 허용되지 않습니다. 🎜🎜🎜메서드, 연산자 또는 접근자의 매개변수는 ref 또는 out일 수 없습니다. 🎜🎜🎜yield 문은 익명 메서드에 나타날 수 없습니다. 🎜🎜 표현식과 함께 사용하면 항복 반환 문은 catch 블록이나 하나 이상의 catch 절이 포함된 try 블록에 나타날 수 없습니다. 예제 다음 예제에서는 Yield 문이 반복기 블록(여기서는 Power(int number, int power) 메서드)에서 사용됩니다. Power 메서드가 호출되면 거듭제곱된 숫자가 포함된 열거 가능한 개체를 반환합니다. 🎜🎜Power 메서드의 반환 유형은 IEnumerable(반복기 인터페이스 유형)입니다. 🎜아아아아

위 내용은 Yield의 핵심 원리는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿