Fonctionnement du rendement en C #
La méthode dans laquelle l'instruction de rendement est présente est consommée par une boucle d'itérateur comme ForEach. Chaque itération à l'intérieur de la boucle appelle la fonction. Le code de la fonction est exécuté jusqu'à ce que le rendement revient, ou l'instruction de rupture est exécutée. L'état actuel de l'itération à l'intérieur de la boucle est conservé, et l'itération va pour le cycle suivant et commence à partir de l'endroit où il a été laissé dans l'itération passée.
Exemple 1
La mise en œuvre du rendement en C Sharp contient le calcul de la série Fibonacci. Cette série est formée en ajoutant les deux derniers nombres. Nous allons donc expliquer le rendement en travail dans ce cas. Comme nous le savons, le rendement est utilisé dans la valeur de rupture et de retour, nous allons donc utiliser le rendement avec le mot-clé de retour car nous devons renvoyer chaque itération pour former une série Fibonacci.
Nous utilisons une boucle foreach pour afficher toutes les séries obtenues à partir de la fonction de série Fibonacci intégrée à l'intérieur du programme principal. Cette boucle contient une limite de 10 nombres. Une série Fibonacci jusqu'au 10e numéro sera générée. La fonction est déclarée statique.
# Public static ienumerable getFibonacciseries (10))La fonction GetFibonacciseries contient trois nombres d'où nous devons démarrer la série; Habituellement, cela commence par 0. Trois variables sont utilisées car deux variables ont les deux derniers nombres de séries qui sont encore générées, et le troisième produira les résultats des deux dernières variables. «A» et «B» sont initialisés comme 0, tandis que «C» est déclaré comme 1. La boucle iratera jusqu'à ce que le numéro de la série Fibonacci soit inférieur au nombre fourni.
À l'intérieur de la boucle FOR, nous avons utilisé le rendement pour retourner la valeur de la variable.
Rendement du rendement b;
Cela renverra d'abord la valeur calculée suivante, puis calculera la valeur de Fibonacci de procédure. Et puis, ces valeurs sont à nouveau utilisées dans la boucle jusqu'à la 10e itération.
Fichier $ MCS.CS
$ mono fichier.exe
Exemple 2
Cet exemple traite de la recherche dans la série Fibonacci. À l'intérieur du programme principal, l'élément à trouver est déclaré être une variable de type entier. Parce que cette variable sera utilisée dans le programme au lieu de la valeur. La limite maximale pour la série Fibonacci est également mentionnée et déclarée à la variable. Cela sera utilisé pour la méthode de comparaison plus tard. Ce nombre limite est la valeur qui est la fin pour l'instant pour la série Fibonacci. Le nombre à rechercher doit résider dans la série moins de 100 valeur.
Une boucle ForEach est utilisée pour itérer et générer la série Fibonacci jusqu'à ce que le nombre de 100 soit approché. Cette boucle contient l'appel de fonction pour la série Fibonacci, et à l'intérieur du paramètre, il existe deux variables. L'un est l'élément à trouver, et l'autre est la taille maximale de la série Fibonacci, qui fournit une limite pour les nombres à générer.
FindfibonAccinumber (elementToFind, maxElements)))À l'intérieur de cette boucle, si le numéro est généré et qu'une correspondance est trouvée, elle s'affiche sur la console. Ensuite, la fonction qui a été appelée est déclarée avoir deux variables de type entier pour accepter les nombres envoyés via l'appel de fonction.
Le type de retour pour cette fonction est un type entier. À l'intérieur de la fonction, une boucle pour la boucle est utilisée, qui contient les valeurs initiales des variables A, et B est 0, et la valeur de la troisième variable est déclarée 1. De plus, une variable booléenne vérifie si la condition reste vraie; Il itera. La condition est vraie lorsque la série Fibonacci génère un nombre qui se trouve dans la plage donnée; Sinon, la condition est fausse et le compilateur sort de la boucle.
L'instruction CHECK est déclarée à l'intérieur de la boucle. Si l'instruction vérifie si le nombre présent dans une variable est supérieur au nombre maximum, affichez un message à la console que le nombre spécifique à rechercher est hors de la plage et n'est pas présent. Ici, l'instruction de rendement est utilisée avec une pause.
Pause de rendement;À l'intérieur de la boucle, une instruction IF vérifiera à nouveau si la valeur de la variable «B» est égale au nombre à trouver, puis la valeur sera renvoyée par rendement.
Rendement du rendement b;Et le programme est terminal en suivant le rendement avec l'énoncé de rupture. De cette façon, ce programme contient les deux types de rendement, travaillant avec le retour et une pause.
À l'extérieur du «If Body», tout en restant dans la boucle, une variable temporaire sera utilisée pour stocker la valeur d'un numéro Fibonacci. Enregistrez le code puis exécutez-le. Vous verrez que le numéro entré est trouvé, car nous avons utilisé 21.
La modification du numéro de 21 à 20 montrera le message que le numéro n'est pas trouvé.
Exemple 3
Cet exemple traite de la génération des jours de la semaine dans un programme C Sharp. Ce programme va développer le fonctionnement du rendement avec un accessoire définitif.
Jours.Jours de la semaine()
À l'intérieur de cette fonction, l'appel de fonction pour le nom du jour est déclaré. Et le numéro de jour avec le nom est affiché via la valeur de la console à l'intérieur de la boucle. Un spectacle de fonction est déclaré avoir une valeur de retour de type entier et prend la variable pour stocker le numéro de jour en tant que paramètre. Encore une fois, la «boucle» donnera la valeur si la condition reste vraie.
Une autre classe est créée pour déclarer une fonction, Daysofweek. Il utilisera la fonction GET pour obtenir la valeur en envoyant le nom du jour et le jour de la semaine. Chaque fois que chaque nouvelle ligne sera générée en fonction du numéro de jour indiqué à partir de la boucle. Ici, le mot clé de rendement est utilisé avec le retour.
Une classe distincte est créée pour que la fonction et le nom du jour soient correctement travaillées; Cette fonction donnera et renvoie les valeurs en utilisant des fonctionnalités GET et définissent.
Tous les chiffres des jours, ainsi que les noms de jour, sont générés lors de l'exécution.
Conclusion
Un mot clé de rendement génère de la valeur de deux manières tout en utilisant le langage de programmation C Sharp. L'une consiste à utiliser un retour pour retourner la valeur suivante calculée par l'expression utilisée. Le second est avec la déclaration de pause pour mettre fin au programme en brisant le processus d'itération. Ce sont les fonctionnalités de base toujours utilisées à l'intérieur de la boucle, car l'itération est à l'intérieur des boucles. Un exemple de base du rendement consiste à générer la série Fibonacci et à rechercher dans la série. Nous l'avons expliqué dans l'exemple implémenté dans le système d'exploitation Ubuntu.