Récemment, j'ai commencé à créer un conteneur d'éléments et chaque fois que l'utilisateur essayait d'ajouter un élément dans le conteneur. Si en quelque sorte le même type d'élément existe, il va les empiler les uns sur les autres, mais il y a une limite, qui est int.MaxValue
et si j'ai essayé:.NET/C# - Autoriser le débordement d'entiers
if (2147483647 + 2147483647 > int.MaxValue)
Cela me donnerait l'erreur suivante:
The operation overflows at compile time in checked mode
donc j'ai essayé d'utiliser le mot-clé sans contrôle comme ceci:
unchecked
{
if (2147483647 + 2147483647 > int.MaxValue)
{
}
}
mais cela ne montre pas déclencher l'instruction if du tout (je devine qu'il est enroulé autour d'un opérateur AND logique?)
Existe-t-il d'autres moyens de le faire? (sans utiliser quelque chose comme un int64, etc)
pourquoi vous ajoutez deux constantes qui sont égales à Int.MaxValue et en les comparant à Int.MaxValue? –
@GregS, ceci est juste un exemple. – TheAJ
quelle est la question exacte, bien sûr deux int.MaxValues sont plus grands que int.MaxValue. – GrayWizardx