Я думаю, что это не была бы без проблем для выполнения Ubuntu на тех аппаратных средствах. На моем процессоре Pentium с 2 x 2,13 ГГц, с двумя веб-браузерами и файловым менеджером открылся, он только берет 800 МБ моих 4 ГБ RAM и выполняет flawlessy.
, Если Вы обновляете от одного выпуска до другого, можно сохранить программы и настройки. При покупке нового устройства можно сохранить настройки (скопируйте домашнюю папку), но необходимо было бы переустановить программы, даже если существует много сценариев в сети, которые делают это намного более простым.
Задержанный вызов второго и последующего 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 не был перечислен до конца.