Вопросы по теме 'yield-return'

Является ли yield return в C # потокобезопасным?
У меня есть следующий фрагмент кода: private Dictionary<object, object> items = new Dictionary<object, object>; public IEnumerable<object> Keys { get { foreach (object key in items.Keys) {...
9927 просмотров
schedule 17.02.2023

Каков правильный шаблон для обработки Enumerable объектов с возвратом yield?
Существует ли стандартный шаблон для yield, возвращающего все элементы в Enumerable? Чаще, чем мне хотелось бы, я нахожу часть своего кода, отражающую следующий шаблон: public IEnumerable<object> YieldReturningFunction() {...
300 просмотров

Потокобезопасность возврата доходности с помощью Parallel.ForEach()
Рассмотрим следующий пример кода, который создает перечислимую коллекцию целых чисел и обрабатывает ее параллельно: using System.Collections.Generic; using System.Threading.Tasks; public class Program { public static void Main() {...
2288 просмотров

Сравнение производительности IEnumerable и события повышения для каждого элемента в источнике?
Я хочу прочитать большой двоичный файл, содержащий миллионы записей, и я хочу получить отчеты по этим записям. Я использую BinaryReader для чтения (что, по моему мнению, имеет лучшую производительность для читателей) и конвертирую прочитанные байты...
159 просмотров

При использовании yield почему тип, сгенерированный компилятором, реализует как IEnumerable, так и IEnumerator
Мы пытаемся использовать IEnumerable в качестве фабрики, которая генерирует разные объекты каждый раз, когда мы перебираем ее. Они должны быть GC'ed как можно скорее. Обратите внимание, однако, что мы сохраняем ссылку на перечислитель , чтобы мы...
358 просмотров

Проблемы с пониманием yield в C #
Я надеюсь получить разъяснения по фрагменту, который я недавно перешагнул в отладчике, но просто не могу понять. Я прохожу курс C # по PluralSight , текущая тема - yield , и возвращаю IEnumerable<T> с ключевым словом. У меня есть эта...
9193 просмотров
schedule 25.03.2022

Ключевые слова Async и yield в С# [дубликаты]
public static async ???? ReadFileLineByLineAsync(string file) { using(StreamReader s = new StreamReader(file)) { while (!s.EndOfStream) yield return await s.ReadLineAsync(); } } Я хочу написать асинхронную...
433 просмотров

В С# можно ли через отражение проверить, является ли метод итератором?
Учитывая экземпляр MethodBase или MethodInfo , как я могу проверить, представляет ли он метод итератора (с операторами yield ) или общий метод (без операторов yield )? Я заметил свойство IteratorStateMachineAttribute в свойстве...
153 просмотров
schedule 27.06.2022