Table des matières:
Définition - Que signifie opérateur non contrôlé?
Un opérateur non contrôlé, en C #, est un opérateur utilisé pour désactiver la vérification du débordement lors de l'évaluation des expressions et des conversions.
Lors de l'exécution d'opérations arithmétiques de type intégral à l'aide d'expressions contenant des types de données numériques, il peut en résulter une exception de dépassement si le résultat de l'opération est trop grand pour être représenté dans le nombre alloué avec un nombre spécifique de bits en fonction de son type. Dans les cas où un débordement est un résultat acceptable de l'opération, il est nécessaire de supprimer l'exception et de poursuivre le programme. Un opérateur non contrôlé est utilisé dans de tels scénarios en définissant un contexte non contrôlé dans lequel le dépassement arithmétique est ignoré avec la troncature du résultat.
Contrairement à C / C ++, qui ignore la possibilité de débordement, C # fournit la fonctionnalité pour gérer ou ignorer le débordement en fournissant des opérateurs cochés et non cochés. L'opérateur non contrôlé est souvent utilisé dans la section d'un projet qui est compilée dans un contexte vérifié. Certains des algorithmes où l'opérateur non contrôlé peut être utilisé incluent les sommes de contrôle, la logique de chiffrement et la génération de nombres aléatoires.
Techopedia explique un opérateur non contrôlé
Un opérateur non coché est utilisé avec le mot clé "non coché" sur une expression et comme une instruction dans un bloc de code. Il définit un contexte d'exécution dans lequel les bits les plus significatifs du résultat sont ignorés lors de l'occurrence d'un débordement d'entier, tandis que l'exécution se poursuit. Le contexte de non vérifié est applicable aux instructions contenues dans l'instruction "non vérifiée" et non aux appels de fonction imbriqués.
Par exemple, lorsque le produit de deux grands entiers de type de données nécessite l'utilisation de short dans un certain but sans qu'il soit nécessaire de vérifier l'occurrence d'un débordement, un opérateur non contrôlé peut être utilisé.
En général, une expression qui contient des termes constants ne peut être vérifiée que pour un débordement pendant la compilation. Un opérateur non contrôlé peut être utilisé pour éviter de vérifier le débordement dans de telles expressions et également pour les expressions qui contiennent des termes non constants qui ne sont pas vérifiés par défaut, à la fois au moment de l'exécution et au moment de la compilation.
Un opérateur non contrôlé ne peut pas être surchargé.
Étant donné que l'utilisation d'un opérateur non contrôlé a une pénalité de performance, il ne doit être utilisé que lorsque le débordement ne pose aucun problème.
Cette définition a été écrite dans le contexte de C #