- 01
 - 02
 - 03
 - 04
 - 05
 - 06
 - 07
 - 08
 - 09
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 - 17
 - 18
 - 19
 - 20
 - 21
 - 22
 - 23
 - 24
 - 25
 - 26
 - 27
 - 28
 - 29
 - 30
 - 31
 - 32
 - 33
 - 34
 - 35
 - 36
 
                        public static TSource Single<TSource>(this TSource[] array)
        {
            if (array.Length > 1) throw new InvalidOperationException("Sequence contains more than one element");
            return array[0];
        }
        public static TSource Single<TSource>(this List<TSource> array)
        {
            if (array.Count > 1) throw new InvalidOperationException("Sequence contains more than one element");
            return array[0];
        }
        public static TSource First<TSource>(this TSource[] array)
        {
            return array[0];
        }
        public static TSource First<TSource>(this List<TSource> array)
        {
            return array[0];
        }
        public static TSource First<TSource>(this TSource[] array, Func<TSource, bool> condition)
        {
            for (int i = 0; i < array.Length; i++)
            {
                if (condition(array[i])) return array[i];
            }
            throw new InvalidOperationException("No items match the specified search criteria.");
        }
        public static TSource First<TSource>(this List<TSource> array, Func<TSource, bool> condition)
        {
            var len = array.Count;
            for (int i = 0; i < len; i++)
            {
                if (condition(array[i])) return array[i];
            }
            throw new InvalidOperationException("No items match the specified search criteria.");
}
                                 
        
, и тогда не пришлось бы дублировать.
а вообще, тут суть в том, что array и list это совсем разные типы, и их нельзя просто так привести. можно сделать List<T1>.Cast<T2>(), и он приведет их к типу.
ну так Cast и обьект новый создаст
Тут же вроде вся суть либы в том, чтобы кругом были конкретные типы, а не интерфейсы, для ПИРФОМАНСА и снижения потребления памяти. Одинарные кавычки вместо двойных, вот это всё.
Пирформанс не нужен -- бабы нарожают^W^W кастомер докупит^W^W если он ценой экономии на каких-то спичках.
Можете начинать меня ненавидеть.
Но код выдать не решились.
Если сильно метушиться,
Можно парсера лишиться.
Если парсера лишиться,
Нечем будет метушиться.
https://vk.com/id16331230
https://my.mail.ru/list/filichka85/
http://nomerorg.com/allukraina/lastName_МЕТУШОК_pagenumber_0.html
https://uk.wiktionary.org/wiki/метушня
http://uk.worldwidedictionary.org/метушитися
Погугли митусню
Ты за бессмысленные такты? За пустую трату горючего? Загаживание экологии?
А ты думал в КАКОМ мире будут жить твои дети??
boost::mpl::string? :)
худшее, что случалось с сипласплас
Write(String)
Write(String, String)
И так до семи примерно, ибо дешевле чем варарг
fixed