Partage via


ReadOnlyTensorSpan<T> Structure

Définition

ReadOnlyTensorSpan représente une région contiguë de mémoire arbitraire. Contrairement aux tableaux, il peut pointer vers la mémoire managée ou native, ou vers la mémoire allouée sur la pile. Il s’agit d’une sécurité de type et d’une mémoire sécurisée.

generic <typename T>
public value class ReadOnlyTensorSpan
[System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public readonly ref struct ReadOnlyTensorSpan<T>
[<System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ReadOnlyTensorSpan<'T> = struct
Public Structure ReadOnlyTensorSpan(Of T)

Paramètres de type

T
Héritage
ReadOnlyTensorSpan<T>
Attributs

Constructeurs

ReadOnlyTensorSpan<T>(Array)

Crée une ReadOnlyTensorSpan<T> sur la Arrayfournie. La nouvelle ReadOnlyTensorSpan<T> aura un rang de 1 et une longueur égale à la longueur du Arrayfourni.

ReadOnlyTensorSpan<T>(Array, ReadOnlySpan<Int32>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Crée une ReadOnlyTensorSpan<T> sur le Array fourni à l’aide des décalages de début, des longueurs et des pas spécifiés. Si les progrès ne sont pas fournis, ils sont calculés automatiquement.

ReadOnlyTensorSpan<T>(Array, ReadOnlySpan<NIndex>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Crée une ReadOnlyTensorSpan<T> sur le Array fourni à l’aide des décalages de début, des longueurs et des pas spécifiés. Si les progrès ne sont pas fournis, ils sont calculés automatiquement.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>)

Crée une ReadOnlyTensorSpan<T> sur la ReadOnlySpan<T>fournie. La nouvelle ReadOnlyTensorSpan<T> aura un rang de 1 et une longueur égale à la longueur du ReadOnlySpan<T>fourni.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Crée une ReadOnlyTensorSpan<T> sur la Span<T> fournie à l’aide des longueurs et des pas spécifiés. Si les progrès ne sont pas fournis, ils sont calculés automatiquement.

ReadOnlyTensorSpan<T>(T*, IntPtr)

Crée une étendue sur la mémoire tampon non managée cible. Il est clairement dangereux que la longueur n’est pas vérifiée. Mais si cette création est correcte, toutes les utilisations suivantes sont correctes.

ReadOnlyTensorSpan<T>(T*, IntPtr, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Crée une étendue sur la mémoire tampon non managée cible. Il est évident que c’est très dangereux, parce que la longueur n’est pas vérifiée. Mais si cette création est correcte, toutes les utilisations suivantes sont correctes.

ReadOnlyTensorSpan<T>(T[])

Crée une étendue sur l’intégralité du tableau cible.

ReadOnlyTensorSpan<T>(T[], Index, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Crée une étendue sur la partie du tableau cible commençant à l’index « start » et se terminant à l’index « end » (exclusif).

ReadOnlyTensorSpan<T>(T[], Int32, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Crée une étendue sur la partie du tableau cible commençant à l’index « start » et se terminant à l’index « end » (exclusif).

Propriétés

Empty

Renvoie une étendue en lecture seule de 0 longueur dont la base est le pointeur Null.

FlattenedLength

Nombre d’éléments dans l’étendue.

IsEmpty

Obtient une valeur indiquant si cette TensorSpan<T> est vide.

Item[ReadOnlySpan<IntPtr>]

Retourne une référence à l’élément spécifié de ReadOnlyTensorSpan.

Item[ReadOnlySpan<NIndex>]

Retourne une référence à l’élément spécifié de ReadOnlyTensorSpan.

Item[ReadOnlySpan<NRange>]

Renvoie une tranche de readOnlyTensorSpan.

Lengths

Obtient la longueur de chaque dimension dans cette TensorSpan<T>.

Rank

Obtient le rang, comme le nombre de dimensions, de cette TensorSpan<T>.

Strides

Obtient les pas de cette TensorSpan<T>

Méthodes

CastUp<TDerived>(ReadOnlyTensorSpan<TDerived>)

Convertit une étendue en lecture seule de TDerived en une étendue en lecture seule de T.

CopyTo(TensorSpan<T>)

Copie le contenu de cette étendue en lecture seule dans l’étendue de destination. Si la source et les destinations se chevauchent, cette méthode se comporte comme si les valeurs d’origine dans un emplacement temporaire avant le remplacement de la destination.

Equals(Object)
Obsolète.

Cette méthode n’est pas prise en charge, car les étendues ne peuvent pas être boxées. Pour comparer deux étendues, utilisez operator==.

FlattenTo(Span<T>)

Aplatit le contenu de cette étendue dans la Span<T>fournie.

GetEnumerator()

Obtient un énumérateur pour cette étendue.

GetHashCode()
Obsolète.

Cette méthode n’est pas prise en charge, car les étendues ne peuvent pas être boxées.

GetPinnableReference()

Retourne une référence au 0e élément de ReadOnlyTensorSpan. Si readOnlyTensorSpan est vide, retourne une référence Null. Il peut être utilisé pour l’épinglage et est nécessaire pour prendre en charge l’utilisation de l’étendue dans une instruction fixe.

Slice(ReadOnlySpan<NIndex>)

Retourne une référence à l’élément spécifié du TensorSpan.

Slice(ReadOnlySpan<NRange>)

Forme une tranche hors de l’étendue donnée

ToString()

Retourne un String portant le nom du type et le nombre d’éléments.

TryCopyTo(TensorSpan<T>)

Copie le contenu de cette étendue en lecture seule dans l’étendue de destination. Si la source et les destinations se chevauchent, cette méthode se comporte comme si les valeurs d’origine dans un emplacement temporaire avant le remplacement de la destination.

TryFlattenTo(Span<T>)

Aplatit le contenu de cette étendue dans la Span<T>fournie.

Opérateurs

Equality(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

Retourne true si le point gauche et droit à la même mémoire et a la même longueur. Notez que cela n'pas vérifier si le contenu est égal.

Implicit(T[] to ReadOnlyTensorSpan<T>)

ReadOnlyTensorSpan représente une région contiguë de mémoire arbitraire. Contrairement aux tableaux, il peut pointer vers la mémoire managée ou native, ou vers la mémoire allouée sur la pile. Il s’agit d’une sécurité de type et d’une mémoire sécurisée.

Inequality(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

Retourne false si le point gauche et droit à la même mémoire et a la même longueur. Notez que cela n'pas vérifier si le contenu est égal.

Méthodes d’extension

BroadcastTo<T>(ReadOnlyTensorSpan<T>, TensorSpan<T>)

Diffusez les données de source vers destination.

Reshape<T>(ReadOnlyTensorSpan<T>, ReadOnlySpan<IntPtr>)

Redéfinit le tensor de la lengthsspécifiée. Si l’une des longueurs est -1, elle est calculée automatiquement. Ne modifie pas la longueur de la mémoire sous-jacente et n’alloue pas de nouvelle mémoire. Si la nouvelle forme n’est pas compatible avec l’ancienne forme, une exception est levée.

SequenceEqual<T>(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

Détermine si deux séquences sont égales en comparant les éléments utilisant IEquatable{T}. Equals(T).

Squeeze<T>(ReadOnlyTensorSpan<T>)

Supprime toutes les dimensions de longueur 1 de la tensor.

SqueezeDimension<T>(ReadOnlyTensorSpan<T>, Int32)

Supprime l’axe de longueur 1 de l'tensor pour le dimensiondonné. Si la dimension n’est pas de longueur, elle lève une exception.

ToString<T>(ReadOnlyTensorSpan<T>, ReadOnlySpan<IntPtr>)

Crée une représentation String du ReadOnlyTensorSpan<T>. » />

TryBroadcastTo<T>(ReadOnlyTensorSpan<T>, TensorSpan<T>)

Diffusez les données de tensor vers la forme la plus petite compatible avec destination et stockez-les dans destination Si les formes ne sont pas compatibles, false est retourné.

Unsqueeze<T>(ReadOnlyTensorSpan<T>, Int32)

Insérez une nouvelle dimension de longueur 1 qui apparaîtra à la position de la dimension.

S’applique à