J'essaie de créer une classe appelée LoopingInt. Il stocke deux entiers, l'un étant la valeur maximale de l'entier et l'autre étant un entier stocké. Lorsque l'entier tombe en dessous de 0 ou au-dessus de la valeur maximale, il «rebondit». Donc, si vous ajoutez 3 à un LoopingInt avec une valeur de 4, et la valeur maximale est 6, l'entier stocké en interne dans la classe sera 7, mais demander l'entier extérieur retournera 0.Aide sur la surcharge de l'opérateur implicite en C#
Ce que je veux faire est de faire en sorte que je puisse travailler avec LoopingInts comme s'ils étaient des entiers. Je peux déjà affecter LoopingInts à des objets int (int x = myLoopingInt), mais je ne peux pas assigner un int à un LoopingInt parce que je n'arrive pas à comprendre comment renvoyer un objet LoopingInt avec la bonne valeur maximale. J'ai besoin de la valeur maximale de la valeur de gauche, mais je ne sais pas comment l'obtenir.
Je nommer 'WraparoundInt' ou quelque chose de similaire, comme la notion de débordement d'entier provoquant la valeur à enveloppants est familière à beaucoup de programmeurs. – Oded
FYI ce que vous construisez est un système arithmétique modulaire sur une classe de congruence d'entiers; ainsi vous formez un * anneau commutatif *. Voir http://en.wikipedia.org/wiki/Modular_arithmetic pour quelques informations mathématiques qui pourraient vous être utiles. –
Cela semble être une bonne idée. Je ferai ça. – Timballisto