быстрый ToEnumerable
От: tyomchick Россия  
Дата: 23.04.15 11:43
Оценка:
Часто методы принимают IEnumerable, а передавать хочется всего один элемент.

Решил написать хелпер:

 public static IEnumerable<T> ToEnumerable<T>(this T value)
 {
   return new[] { value };
 }


Наивным тестами выяснил, что он быстрее чем
yield return value;


(хоть и уступает по зажору памяти), и экономичнее по памяти чем:

return Enumerable.Repeat(value, 1);

(при почти идентичной производительности).

Есть ли более быстрый способ?

PS:
На счет памяти есть сомнения. Мерил через:
GC.GetTotalMemory(false)

, если мерить через
Environment.WorkingSet

, то массив и по памяти самый экономичный.
Даже самую простую задачу можно сделать невыполнимой, если провести достаточное количество совещаний
Отредактировано 23.04.2015 11:46 tyomchick . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.