Computer >> Máy Tính >  >> Lập trình >> C#

Việc sử dụng lợi tức trong C # là gì?

Từ khóa lợi nhuận giúp thực hiện lặp lại trạng thái tùy chỉnh trên một bộ sưu tập. Có nghĩa là khi chúng ta sử dụng từ khóa lợi nhuận, điều khiển sẽ di chuyển qua lại từ hàm người gọi sang hàm nguồn và ngược lại.

Ví dụ

using System;
using System.Collections.Generic;
namespace DemoApplication {
   class Program {
      static List<int> numbersList = new List<int> {
         1, 2, 3, 4, 5
      };
      public static void Main() {
         foreach(int i in RunningTotal()) {
            Console.WriteLine(i);
         }
         Console.ReadLine();
      }
      public static IEnumerable<int> RunningTotal() {
         int runningTotal = 0;
         foreach(int i in numbersList) {
            runningTotal += i;
            yield return (runningTotal);
         }
      }
   }
}

Đầu ra

Đầu ra của chương trình trên là

1
3
6
10
15

Trong ví dụ trên, đối với mỗi phương thức chính, chúng ta đang lặp qua danh sách số của tổng số đang chạy. Vì vậy, bất cứ khi nào kết quả trả về được gọi là điều khiển quay trở lại phương thức chính cho mỗi vòng lặp và in ra các giá trị. Sau khi in giá trị, điều khiển lại chuyển đến cho từng tổng số đang chạy. Một điều cần lưu ý ở đây là giá trị trước đó cũng được bảo toàn. Vì vậy, đơn giản, từ khóa lợi nhuận tạo ra một danh sách lười biếng trên các mục thu thập có thể hiệu quả hơn nhiều.