Спан из массива - непонятно
От: Vladek Россия Github
Дата: 07.11.21 19:51
Оценка:
Нужен мне был отрезок со смещением Span<char> из массива, который я заполнял данными отдельно, и потом уже работал с целым массивом. Спан я получал так:
private char[] buffer;

public Span<char> AsSpan()
{
    return new Span<char>(buffer, this.offset, this.buffer.Length - this.offset);
}

и всё работало — массив заполнялся данными извне.

Потом я решил эту строчку поменять:
private char[] buffer;

public Span<char> AsSpan()
{
    return this.buffer[this.offset..];
}

и всё перестало работать — массив остаётся пустым!

Что же делает второй вариант, неужели создаёт копию массива вместо возвращения отрезка из моего оригинального массива?

Кстати, в классе MemoryExtensions есть такой же метод, но он похитрее моего — чем он лучше?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.