Скопируйте массивы быстро в C#

Для копирования массива достаточно просто использовать цикл для, но для большинства массивов вы можете получить еще лучшую производительность, используя Array класс Copy . Это принимает в качестве параметров исходный и целевой массивы. Третий параметр указывает, сколько записей нужно копировать. Дополнительные параметры позволяют копировать из одной части исходного массива в другую часть целевого массива.

Следующий код сравнивает время, необходимое для копирования целочисленного массива с помощью цикла for и с помощью Array.Copy.

Код получает количество элементов, которые он должен копировать в каждом массиве, и количество испытаний, которое оно должно выполнить. Затем для каждого испытания код использует цикл for для копирования значений массива и отображения прошедшего времени. Затем он копирует значения с помощью Array.Copy. Код, который выполняет два типа испытаний, выделяется синим цветом.

Если вы посмотрите на изображение, показанное выше, вы увидите, что Array.Copy выполняется намного быстрее, в этом примере занимает около 1/17, если для .

Обратите внимание, что общее время чрезвычайно мало (всего около 7 наносекунд на элемент с использованием цикла для) в любом случае. Также обратите внимание, что цикл for может быть быстрее для очень малых массивов.

Источник: http://csharphelper.com/blog/2015/05/copy-arrays-quickly-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *