Получить последние байты из байтового массива - PullRequest
2 голосов
/ 02 марта 2012

Мне нужно прочитать последние 8 байтов из байтового массива. Прямо сейчас я делаю это так:

last8 = data.Reverse().Take(8).Reverse();

Есть ли лучший способ сделать это?

Ответы [ 3 ]

7 голосов
/ 02 марта 2012

Используйте Array.Copy , например:

byte[] data = ...;
byte[] last8 = new byte[8];
Array.Copy(data, data.Length-8, last8, 0, 8);
4 голосов
/ 02 марта 2012

Как насчет этого:

var last8 = data.Skip(data.Length - 8);

Сохранит шаг обращения массива дважды.

1 голос
/ 02 марта 2012

Вы также можете использовать data.Skip(data.Count - 8) (если ваши данные уже перечислены - например, Array или List).

...