>>Adding an extension method ( say AddCollection) is a bad idea since it accepts an argument of IEnumerable(T).
>>
>>using items.Count() is slow - I guess it uses a foreach loop to count
>>
>>
>>// don't do this at home
>>
>>public static void AddCollection<T>(this List<T> list, IEnumerable<T> items)
>> {
>>
>> if (items.Count() <= Tuning.AddRangeMinimumItems) // 128
>> {
>> foreach (T item in items)
>> list.Add(item);
>> }
>> else
>> {
>> list.AddRange(items);
>> }
>> }
>>
>>
>>An extension method that takes a whole array is a better idea - since array.Length is faster
>
>And probably I wouldn't use such an extesnion when it already exists (Concat):
>
> static void UseConcat()
> {
> int[] buf = new int[Size];
> List<int> list = new List<int>();
> for (int i = nTimes; --i != 0; )
> {
> list.Concat(buf);
> list.Clear();
> }
> }
>
>Cetin
I thought so as well - for a couple of minutes
They are both extension methods - but they are not doing the same, ie one works on the list whereas the other returns another Enumerator
Gregory