Зачем надо использовать ключевое слово yield - C#

Узнай цену своей работы

Формулировка задачи:

Объясните мне, зачем надо использовать ключевое слово yield? Уже мозг кипит. К примеру здесь:
public static IEnumerable<int> fib()
{
yield return 0;
int i = 0, j = 1;
while (true)
{
yield return j;
int temp = i;
i = j; j = temp + j;
}
} В MSDN прочитал, как то совсем не внятно написано.

Решение задачи: «Зачем надо использовать ключевое слово yield»

textual
Листинг программы
public static List<MyLine> SearchLines() {
var rls = new List<MyLine>();
try {
  var lines = Library.LoadElementsList("Line");
  foreach (var line in lines) {
    if (!line.IsHorisontal && !line.IsVertical) continue;
    rls.Add(line);
  }
  var polylines = Library.LoadElementsList("Poly");
  foreach (var poly in polylines) {
    if (poly.Points.Count < 2) continue;
    for (var i = 1; i <= poly.Points.Count - 1; i++) {
      var line_poly = new line(poly.Points[i - 1], poly.Points[i])
      if (!line_poly .IsHorisontal && !line_poly .IsVertical) continue;
      rls.Add(line_poly);
    }
  }
  var boxes = Library.LoadElementsList("Box");
  foreach (var box in boxes) {
    rls.Add(new MyLine(box.Point1.X, box.Point1.Y, box.Point2.X, box.Point1.Y));
    rls.Add(new MyLine(box.Point2.X, box.Point1.Y, box.Point2.X, box.Point2.Y));
    rls.Add(new MyLine(box.Point1.X, box.Point2.Y, box.Point2.X, box.Point2.Y));
    rls.Add(new MyLine(box.Point1.X, box.Point1.Y, box.Point1.X, box.Point2.Y));
  }
} catch {
}
return rls;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы