Добавление / объединение двух последовательностей IEnumerable

Я думаю, что это не была бы без проблем для выполнения Ubuntu на тех аппаратных средствах. На моем процессоре Pentium с 2 x 2,13 ГГц, с двумя веб-браузерами и файловым менеджером открылся, он только берет 800 МБ моих 4 ГБ RAM и выполняет flawlessy.

, Если Вы обновляете от одного выпуска до другого, можно сохранить программы и настройки. При покупке нового устройства можно сохранить настройки (скопируйте домашнюю папку), но необходимо было бы переустановить программы, даже если существует много сценариев в сети, которые делают это намного более простым.

43
задан Liam 31 May 2019 в 08:19
поделиться

1 ответ

Задержанный вызов второго и последующего enumerables

я обычно использую Linq IEnumerable<T>.Concat(), но сегодня я должен был быть на 100% уверен, что второе перечисление не было перечислено, пока первый не был обработан до конца. (например, запросы на два дб, которые я не хотел выполнять одновременно). Таким образом, следующая функция сделала прием для задержки перечислений.

    IEnumerable<T> DelayedConcat<T>(params Func<IEnumerable<T>>[] enumerableList)
    {
        foreach(var enumerable in enumerableList)
        {
            foreach (var item in enumerable())
            {
                yield return item;
            }
        }
    }

Использование:

    return DelayedConcat(
                () => GetEnumerable1(),
                () => GetEnumerable2(),
 // and so on.. () => GetEnumerable3(),
                );

В этом примере вызов функции GetEnumerable2 будет задержан, пока GetEnumerable1 не был перечислен до конца.

0
ответ дан 26 November 2019 в 22:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: