Verificare se un integer è un multiplo di un altro numero in C# Un paio di Extension Method scritti in C Sharp utilizzabili per determinare se un dato numero intero è un multiplo (o un dividendo) di un altro intero

Classe ASP.NET C# per il controllo e il calcolo formale del Codice Fiscale

Oggi ho avuto la necessità di trovare un modo rapido per determinare a livello di codice se un dato numero intero (Int32) fosse un multiplo di un altro numero intero: nello specifico ne avevo bisogno per costruire una struttura HTML basata su griglia, ma immagino che ci siano un sacco di scenari quando tale caratteristica potrebbe essere utile.

Per questo motivo ho creato una helper class molto semplice contenente un paio di Extension Method che possono essere utilizzati per verificare se un dato int (che chiameremo multiple) è un multiplo di un altro int (che chiameremo dividend): per verificare tale condizione ho utilizzato l'operatore modulo (%), che restituisce il resto risultante a seguito di una divisione tra due numeri: se il resto risultante dalla divisione multiple/dividend è pari a zero significa che il multiplo è divisibile per il dividendo, e viceversa.

Ecco la classe contenente gli extension method:

Come si può vedere osservando il codice, la classe contiene due metodi basati sulla medesima logica:

  • IsMultipleOf(), che restituisce TRUE se il primo int è un multiplo del secondo e FALSE in caso contrario.
  • IsDividendOf(), che agisce come il reciproco del precedente, restituendo TRUE se il primo int è un dividendo del secondo e FALSE in caso contrario.

Nell'improbabile caso in cui non sappiate come utilizzare gli Extension Method all'interno del vostro codice, consiglio di leggere questo articolo.

Se invece non vi piace lavorare con gli Extension Methods e preferite un approccio più convenzionale, ecco lo stesso codice sorgente scritto all'interno di una normale helper class contenente due metodi statici:

Conclusioni

Per il momento è tutto: mi auguro che questa helper class possa essere d'aiuto ad altri sviluppatori C# alla ricerca di un modo pratico e veloce per determinare se un numero intero è un multiplo (o un dividendo) di un altro. Alla prossima!

 

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane. Microsoft MVP for Development Technologies dal 2018.

View all posts by Ryan

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


Il periodo di verifica reCAPTCHA è scaduto. Ricaricare la pagina.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.