Тема: List and alias.
Показать сообщение отдельно
Старый 17.03.2011, 02:06   #3
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: List and alias.

ну вообщемто переживать по поводу памяти в наше время не особо стоит волноватся(ну поянтное дело я не о том чтобы создать 100500 ненужных классов и оставить их, про такую вещь как размер списков и словарей). если особо интересно полистай msdn. также во время исполнентя можешь сотановить и посмотреть Capacity - это размер памяти выделеный для листа листа. Также, если зарание известен размер листа, то лучше иницализировать его спараметром Capacity - это ускорит добавление елементов в будующем(пока эти елементы не вылезут за ганицу) )
ПО поводу скорости доступа к елементам, то тут да, масивы работаеют на порядок быстрее.
Вот кстати пример по поводу выделяемой памяти-
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mime;
using System.Text;

namespace ListTest
{
    class Program
    {
        static void Main(string[] args)
        {
            List<object> objects=new List<object>();
            objects.Add(new object());
            int capacity=objects.Capacity;
            for (int i = 0; i < 15; i++)
            {
                capacity = objects.Capacity;
                int size = objects.Count;
                Console.WriteLine("ExistElemets={0} Capacity={1}",size,capacity);
                for (int j = 0; j < capacity-size+1; j++)
                {
                    objects.Add(new object());
                    
                }
            }
            Console.ReadKey();
        }
    }
}
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
FireOwl (17.03.2011)