Как я могу разыграть (Readonly) Span в (Readonly) Span или наоборот?C#

Место общения программистов C#
Ответить
Anonymous
 Как я могу разыграть (Readonly) Span в (Readonly) Span или наоборот?

Сообщение Anonymous »

Перечисление вариаций, так как у Google нет полезных результатов:

[*] Могу ли я разместить SPAN в SPAN ?
[*] могу ли я разбить Span> Cop Aga> ? Readonlyspan в readonlyspan ?
Могу ли я разыграть readonlyspan в readonlyspan ? Вопрос. < /p>
Пример проблемы: < /p>

Код: Выделить всё

class Animal { }
class Dog : Animal { }

void Main() {
Dog[] dogs = new Dog[10];
Span dogSpan = dogs.AsSpan(0, 10);

// CS0030 Cannot convert type 'System.Span' to 'System.Span'
Span animalSpan1 = (Span)dogSpan;

// CS0453 The type 'Dog' must be a non-nullable value type in order to use it as parameter 'TFrom' in the generic type or method 'MemoryMarshal.Cast(ReadOnlySpan)'
// CS0453 The type 'Animal' must be a non-nullable value type in order to use it as parameter 'TTo' in the generic type or method 'MemoryMarshal.Cast(ReadOnlySpan)'
Span animalSpan2 = MemoryMarshal.Cast(dogSpan);
}
Я был бы в порядке с небезопасным актерским составом, а время выполнения взрывалось, если я прохожу жирафа в промежутке . Поиск "Span Cast Itsems C#" в Google поднимает переосмысление актеров (например, span для Span ), что я не хочу. Если это невозможно, где в документации указывается? Потребители справляются с конкретными реализациями животных (например, Giraffehandler принимает readonlyspan и рассматривает его как readonlyspan ).
Я распознаю альтернативное решение, чтобы выделить массив и сделать SPAP OUT или для выполнения состава, возможно, соблюда, возможно, соблюда (возможно, в SPAPPAPPAPPAPPAPPAPPAPPAPPAНИте). Но оба они уродливы ... Я бы предпочел разыграть фактический промежуток в SPAN (или наоборот), если это возможно, или узнайте, почему это невозможно. В противном случае.

Подробнее здесь: https://stackoverflow.com/questions/743 ... vice-versa
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»