Wie kann ich einen (readonly) span in eine (readonly) span oder umgekehrt einsetzen?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie kann ich einen (readonly) span in eine (readonly) span oder umgekehrt einsetzen?

Post by Anonymous »

Auflistung der Variationen, da Google keine nützlichen Ergebnisse hat:

[*] Kann ich einen Spannwesen in eine Span ? ReadOnlyspan in einen readOnlyspan ?
Kann ich einen ReadOnlyspan in einen ReadOnlyspan ? Frage. < /p>
Beispiel des Problems: < /p>

Code: Select all

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);
}
Ich wäre mit einer unsicheren Besetzung und der Laufzeit explodiert, wenn ich in einer Spannweite eine Giraffe übertrage. Durch die Suche nach "Span Cast items c#" bei Google wird die Neuinterpretation von Casts (z. B. Span zu spal ), was ich nicht möchte. Wenn dies nicht möglich ist, wo ist die Dokumentation so? Verbraucher handhaben mit bestimmten tierischen Implementierungen (z. B. ein GiraffeHandler nimmt ein ReadOnlyspan und behandelt es als einen ReadOnlyspan ). Aber beide sind hässlich ... Ich würde es vorziehen, die tatsächliche Spannweite auf einen Spannwechsel (oder umgekehrt) zu geben oder zu erfahren, warum das anders nicht möglich ist.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post