Heim häufiges Problem Was ist das Grundprinzip der Rendite?

Was ist das Grundprinzip der Rendite?

Jul 01, 2020 pm 03:34 PM
yield

Das Kernprinzip von yield besteht darin, dass es im Iteratorblock verwendet wird, um dem Enumeratorobjekt Werte bereitzustellen oder das Ende der Iteration zu signalisieren. Seine Anweisungen können nur im Iteratorblock erscheinen Wird als Methode, Operator oder Körper des Accessors verwendet.

Was ist das Grundprinzip der Rendite?

Das Kernprinzip von yield ist:

wird im Iteratorblock verwendet, um den Enumerator hinzuzufügen Objekt Geben Sie einen Wert an oder signalisieren Sie das Ende der Iteration.

Es hat eine der folgenden Formen:

  • Code kopierenyield return <expression>;yield break; 

  • Bemerkungen Berechnungsausdruck Und wird in Form eines Enumeratorobjektwerts zurückgegeben;

  • expression muss implizit in den Ertragstyp des Iterators konvertierbar sein.

Die yield-Anweisung kann nur innerhalb eines Iteratorblocks erscheinen, der als Hauptteil einer Methode, eines Operators oder eines Accessors verwendet werden kann.

Der Körper einer solchen Methode, eines solchen Operators oder eines Accessors unterliegt den folgenden Einschränkungen:

  • Unsichere Blöcke sind nicht zulässig.

  • Der Parameter einer Methode, eines Operators oder eines Accessors darf nicht ref oder out sein.

  • Die Ertragsangabe kann in anonymen Methoden nicht erscheinen.

Bei Verwendung mit expression kann eine yield return-Anweisung nicht in einem Catch-Block oder in einem Try-Block erscheinen, der eine oder mehrere Catch-Klauseln enthält. Beispiel Im folgenden Beispiel wird die yield-Anweisung in einem Iteratorblock verwendet (hier die Methode Power(int number, int power)). Wenn die Power-Methode aufgerufen wird, gibt sie ein aufzählbares Objekt zurück, das Potenzen enthält.

Beachten Sie, dass der Rückgabetyp der Power-Methode IEnumerable ist (ein Iterator-Schnittstellentyp).

 yield-example.csusing System;using System.Collections;public class List{    public static IEnumerable Power(int number, int exponent)    {        int counter = 0;        int result = 1;        while (counter++ < exponent)        {            result = result * number;            yield return result;        }    }    static void Main()    {        // Display powers of 2 up to the exponent 8:        foreach (int i in Power(2, 8))        {            Console.Write("{0} ", i);        }    }}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas ist das Grundprinzip der Rendite?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)