Sự khác biệt giữa từ khóa yield
trong Python và yield
từ khóa trong C# là gì?Sự khác biệt giữa năng suất bằng Python và hiệu suất trong C#
Trả lời
C# 'yield return
tương đương với yield
của Python và yield break
chỉ là return
bằng Python.
Khác với những khác biệt nhỏ đó, về cơ bản chúng có cùng mục đích.
này có thể giúp bạn hiểu nó: Iterators in C#, Python, and Ruby
bài viết hữu ích, cảm ơn! – JackNova
Sự khác biệt quan trọng nhất là năng suất python mang đến cho bạn một iterator, một khi nó hoàn toàn được lặp đó là kết thúc.
Nhưng lợi nhuận C# mang lại cho bạn một nhà máy "", bạn có thể chuyển nó và sử dụng nó ở nhiều nơi trong mã của bạn mà không liên quan đến việc nó đã được "lặp" trước đây chưa.
Hãy ví dụ này trong python:
In [235]: def func1():
.....: for i in xrange(3):
.....: yield i
.....:
In [236]: x1 = func1()
In [237]: for k in x1:
.....: print k
.....:
0
1
2
In [238]: for k in x1:
.....: print k
.....:
In [239]:
Và trong C#:
class Program
{
static IEnumerable<int> Func1()
{
for (int i = 0; i < 3; i++)
yield return i;
}
static void Main(string[] args)
{
var x1 = Func1();
foreach (int k in x1)
Console.WriteLine(k);
foreach (int k in x1)
Console.WriteLine(k);
}
}
Cung cấp cho bạn: nghỉ
0
1
2
0
1
2
- 1. Hiệu suất khác biệt giữa Innodb và Myisam trong Mysql
- 2. Hiệu suất khác biệt giữa IIf() và Nếu
- 3. Sự khác biệt về hiệu suất giữa bản đồ và unordered_map trong C++
- 4. Sự khác biệt về hiệu suất của JavaScript giữa hai bằng (==) và ba bằng (===)
- 5. Sự khác biệt hiệu suất, nếu có, giữa if (! Foo) và if (foo == false) trong Java?
- 6. Sự khác biệt giữa ArrayList và LinkedList trong Java - whys cho hiệu suất
- 7. Sự khác biệt giữa chế độ xem và bảng trong hiệu suất
- 8. Sẽ có sự khác biệt về hiệu suất giữa các chức năng ẩn danh và các chức năng bình thường?
- 9. Sự khác biệt hiệu suất đối với cấu trúc điều khiển 'cho' và 'foreach' trong C#
- 10. Sự khác biệt hiệu suất giữa các khối và gọi lại là gì?
- 11. Sự khác biệt về hiệu suất giữa Amazon EC2 và Linode
- 12. Haskell: sự khác biệt về hiệu suất từ thành phần chức năng khác nhau?
- 13. Có sự khác biệt nào giữa NSCountResultType và countForFetchRequest: lỗi: về hiệu suất không?
- 14. Có sự khác biệt về hiệu suất nào giữa myCollection.Where (...) FirstOrDefault() và myCollection.FirstOrDefault (...)
- 15. sự khác biệt giữa phương pháp ngủ và phương pháp năng suất đa luồng là gì?
- 16. Hiệu suất khác biệt trong điều kiện vòng lặp?
- 17. foreach loop Danh sách sự khác biệt hiệu suất
- 18. Có sự khác biệt về hiệu năng giữa cuộc gọi chức năng và sự kiện trong C# không?
- 19. Hiệu suất khác biệt giữa gcc và g ++ đối với chương trình C
- 20. Hiệu suất khác biệt giữa phương pháp .NET (trong .dll) và phiên bản phản chiếu
- 21. Hiệu suất và phân loại, và khác biệt duy nhất giữa mysql và php
- 22. Có sự khác biệt về hiệu suất giữa bộ chọn jquery hay biến số
- 23. Hiệu suất C++, trong khi so với
- 24. Sự khác biệt giữa inproc và outproc
- 25. Hiệu suất khác biệt giữa jQuery's .live ('click', fn) và .click (fn)
- 26. Sự khác nhau về hiệu suất giữa HttpModule và Global.aspx là gì?
- 27. hiệu suất str trong python
- 28. Tại sao có nhiều khác biệt về hiệu suất giữa Chủ đề và Tác vụ?
- 29. luồng và hiệu suất của Python?
- 30. Hiệu suất khác biệt giữa ký hiệu dấu chấm so với lời gọi phương thức trong Mục tiêu-C
năng suất trong C# là không chính xác bằng với lợi tức của Python. Nếu hàm của bạn không làm gì ngoại trừ ngắt dòng (trả về bằng Python), bạn sẽ nhận được một Enumerator trống trong khi một None trong python. –
Đó là một cú pháp cú pháp nhỏ của Python; bạn có thể sử dụng 'return; yield' để có được một máy phát điện trống. –
Ngoài ra 'yield' trong Python là một biểu thức có thể nhận các giá trị từ trang lặp. 'yield return' là một câu lệnh. – Elazar