学堂 学堂 学堂公众号手机端

在C#中,yieldreturn用于创建一个迭代器(iterator),使得一个方法可以在每次调用时返回一个序列中的元素

lewis 2年前 (2023-10-22) 阅读数 5 #技术

在C#中,yieldreturn用于创建一个迭代器(iterator),使得一个方法可以在每次调用时返回一个序列中的元素。通过yieldreturn可以简化迭代器的实现,使代码更加简洁和易读。

当在一个方法中使用yieldreturn时,这个方法就会变成一个迭代器方法,可以通过foreach循环来迭代返回的元素序列。每次调用迭代器方法时,方法会执行到yieldreturn语句处,将表达式的值作为当前元素返回给调用者,并在下一次调用时从yieldreturn语句的下一行开始执行。

例如,下面是一个使用yieldreturn的简单示例:


publicstaticIEnumerable<int>GetNumbers() { yieldreturn1; yieldreturn2; yieldreturn3; } //调用GetNumbers方法 foreach(intnuminGetNumbers()) { Console.WriteLine(num); }

在上面的示例中,GetNumbers方法是一个迭代器方法,通过yieldreturn关键字返回了一个包含1、2、3的整数序列。在foreach循环中,可以依次遍历并打印出每一个元素。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门