MemoryMarshal.Cast 메서드

정의

오버로드

Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)

한 가지 기본 형식의 읽기 전용 범위를 또 다른 기본 형식의 읽기 전용 범위로 캐스팅합니다.

Cast<TFrom,TTo>(Span<TFrom>)

한 가지 기본 형식의 범위를 또 다른 기본 형식의 범위로 캐스팅합니다.

Cast<TFrom,TTo>(ReadOnlySpan<TFrom>)

Source:
MemoryMarshal.cs
Source:
MemoryMarshal.cs
Source:
MemoryMarshal.cs

한 가지 기본 형식의 읽기 전용 범위를 또 다른 기본 형식의 읽기 전용 범위로 캐스팅합니다.

public:
generic <typename TFrom, typename TTo>
 where TFrom : value class where TTo : value class static ReadOnlySpan<TTo> Cast(ReadOnlySpan<TFrom> span);
public static ReadOnlySpan<TTo> Cast<TFrom,TTo> (ReadOnlySpan<TFrom> span) where TFrom : struct where TTo : struct;
static member Cast : ReadOnlySpan<'From (requires 'From : struct)> -> ReadOnlySpan<'o (requires 'o : struct)> (requires 'From : struct and 'o : struct)
Public Shared Function Cast(Of TFrom As Structure, TTo As Structure) (span As ReadOnlySpan(Of TFrom)) As ReadOnlySpan(Of TTo)

형식 매개 변수

TFrom

원본 범위의 형식입니다.

TTo

대상 범위의 형식입니다.

매개 변수

span
ReadOnlySpan<TFrom>

변환할 소스 조각입니다.

반환

변환된 읽기 전용 범위입니다.

예외

TFrom 또는 TTo 에 관리되는 개체 참조가 포함되어 있습니다.

ReadOnlySpan<T> 의 속성이 Length 를 초과MaxValue합니다.

설명

TFrom 관리되는 개체 참조도 포함할 수 없습니다TTo. 메서드는 Cast 런타임에 이 검사 수행하고 검사 실패하면 을 throw합니다ArgumentException.

이 메서드는 잘못 정렬된 메모리 액세스를 지원하는 플랫폼 또는 메모리 블록이 다른 방법으로 정렬된 경우에만 지원됩니다.

적용 대상

Cast<TFrom,TTo>(Span<TFrom>)

Source:
MemoryMarshal.cs
Source:
MemoryMarshal.cs
Source:
MemoryMarshal.cs

한 가지 기본 형식의 범위를 또 다른 기본 형식의 범위로 캐스팅합니다.

public:
generic <typename TFrom, typename TTo>
 where TFrom : value class where TTo : value class static Span<TTo> Cast(Span<TFrom> span);
public static Span<TTo> Cast<TFrom,TTo> (Span<TFrom> span) where TFrom : struct where TTo : struct;
static member Cast : Span<'From (requires 'From : struct)> -> Span<'o (requires 'o : struct)> (requires 'From : struct and 'o : struct)
Public Shared Function Cast(Of TFrom As Structure, TTo As Structure) (span As Span(Of TFrom)) As Span(Of TTo)

형식 매개 변수

TFrom

원본 범위의 형식입니다.

TTo

대상 범위의 형식입니다.

매개 변수

span
Span<TFrom>

변환할 소스 조각입니다.

반환

Span<TTo>

변환된 범위입니다.

예외

TFrom 또는 TTo 에 관리되는 개체 참조가 포함되어 있습니다.

ReadOnlySpan<T> 의 속성이 Length 를 초과MaxValue합니다.

설명

TFrom 관리되는 개체 참조도 포함할 수 없습니다TTo. 메서드는 Cast 런타임에 이 검사 수행하고 검사 실패하면 을 throw합니다ArgumentException.

두 형식의 크기가 다른 경우 캐스트는 값을 결합하거나 분할하여 길이가 변경됩니다.

예를 들어 가 이면 TFromInt64에는 ReadOnlySpan<Int64> 단일 값인 0x0100001111110F0F 포함되고 는 Int32이고TTo, 결과 ReadOnlySpan<Int32> 값에는 두 개의 값이 포함됩니다. 값은 x86과 같은 little-endian 아키텍처에서 0x11110F0F 0x01000011. big-endian 아키텍처에서는 두 값의 순서(예: 0x01000011) 순서가 반전되고 그 뒤에 0x11110F0F.

또 다른 예로 가 이 ReadOnlySpan<Int32>Int32TFrom 에는 1, 2 및 3의 값이 Int64포함되고TTo, 결과는 ReadOnlySpan<Int64> 단일 값(little-endian 아키텍처에서 0x0000000200000001 및 big-endian 아키텍처의 0x0000000100000002 포함)을 포함합니다.

이 메서드는 잘못 정렬된 메모리 액세스를 지원하는 플랫폼 또는 메모리 블록이 다른 방법으로 정렬된 경우에만 지원됩니다.

적용 대상