Зачем надо использовать ключевое слово yield - C#
Формулировка задачи:
Объясните мне, зачем надо использовать ключевое слово yield? Уже мозг кипит. К примеру здесь:
}
В MSDN прочитал, как то совсем не внятно написано.
Листинг программы
- 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;
- }
Решение задачи: «Зачем надо использовать ключевое слово 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д