Запитання з тегом «yield-return»

16
Правильне використання "прибутку"
На цей питання є відповіді на Stack Overflow на російському : У чому польза? Вихід ключового слова є одним з тих ключових слів в C # , який продовжує містифікувати мене, і я ніколи не був упевнений , що я правильно його використовувати. З наступних двох фрагментів коду, який є …
903 c#  yield-return 

6
Повернути всі перелічні дані з віддачею одразу; не перебираючи наскрізь
У мене є така функція, щоб отримати помилки перевірки для картки. Моє запитання стосується роботи з GetErrors. Обидва способи мають однаковий тип повернення IEnumerable<ErrorInfo>. private static IEnumerable<ErrorInfo> GetErrors(Card card) { var errors = GetMoreErrors(card); foreach (var e in errors) yield return e; // further yield returns for more validation errors …

6
Чи існує Java, еквівалентна ключовому слову "урожайність" C #?
Я знаю, що в самій Java немає прямого еквівалента, але, можливо, третя сторона? Це дійсно зручно. В даний час я хотів би реалізувати ітератор, який видає всі вузли на дереві, тобто приблизно п’ять рядків коду з урожайністю.
112 java  yield  yield-return 

5
Чому в C # анонімний метод не може містити оператор yield?
Я подумав, що було б непогано зробити щось подібне (при цьому лямбда повертає врожайність): public IList<T> Find<T>(Expression<Func<T, bool>> expression) where T : class, new() { IList<T> list = GetList<T>(); var fun = expression.Compile(); var items = () => { foreach (var item in list) if (fun.Invoke(item)) yield return item; // …

10
Яка мета / перевага використання ітераторів повернення прибутковості в C #?
Всі приклади, які я бачив із використанням yield return x; методу C #, можна зробити так само, просто повернувши весь список. У цих випадках, чи є якась перевага чи перевага у використанні yield returnсинтаксису проти повернення списку? Крім того, у яких типах сценаріїв yield returnбудуть використовуватися такі, що ви не …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.