Vector<T> lève toujours NotSupportedException pour les types non pris en charge
System.Numerics.Vector<T> lève désormais toujours NotSupportedException pour les paramètres de type non pris en charge.
Description de la modification
Auparavant, les membres de Vector<T> ne levaient pas toujours NotSupportedException quand T
était un type non pris en charge. L’exception n’était pas toujours levée en raison des chemins de code qui prenaient en charge l’accélération matérielle. Par exemple, Vector<bool> + Vector<bool>
retournait default
au lieu de lever une exception sur les plateformes qui n’ont pas d’accélération matérielle, comme Arm32. Pour les types non pris en charge, les membres Vector<T> montraient un comportement incohérent sur différentes plateformes et configurations matérielles.
À compter de .NET 5, les membres Vector<T> lèvent toujours NotSupportedException sur toutes les configurations matérielles quand T
n’est pas un type pris en charge.
Types non pris en charge
Les types pris en charge pour le paramètre de type Vector<T> sont les suivants :
byte
sbyte
short
ushort
int
uint
long
ulong
float
double
Les types pris en charge n’ont pas changé, mais ils pourraient le faire à l’avenir.
Version introduite
5,0
Action recommandée
N’utilisez pas de type non pris en charge pour le paramètre de type Vector<T>.
API affectées
- System.Numerics.Vector<T> et tous ses membres
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour