Создание нового списка - PullRequest
       12

Создание нового списка

3 голосов
/ 02 декабря 2008

При создании нового списка вы указываете начальный размер или оставляете его пустым? Я знаю, указав начальный размер, вы избегаете перераспределения списка базового массива каждый раз, когда вы добавляете x количество элементов, но вы также добавляете многословность в свой код. Это минимальный выигрыш в производительности, который стоит добавить в ваш код многословия и сложности. Что происходит, когда этому списку нужен еще один элемент, и вы забыли добавить его в инициализацию, вы все еще страдаете из-за снижения производительности при перераспределении, и теперь число может не иметь смысла для новых разработчиков.

Ответы [ 2 ]

5 голосов
/ 02 декабря 2008

Если вы знаете что-то о том, как это будет использоваться, вы всегда должны указывать начальный размер, так как C # начинает списки с размером четыре (!) И удваивается в размере по мере роста списка. Это просто не микрооптимизация, так как для подсказки .Net требуется так мало усилий. И читабельность просто не проблема, особенно если вы можете избежать магических чисел .

2 голосов
/ 02 декабря 2008

Если вы действительно не можете точно (и легко) предсказать размер списка, не беспокойтесь.

Не создавайте код, определяющий его заранее (меньше кода == лучший код).

Кроме того, удвоение - довольно эффективный способ увеличить список по производительности.

4 8 16 32 64 128 256 512 1024 ... вы поняли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...