La riga int digit = c - '0';
serve per convertire il carattere della stringa in un numero intero.
In C#, i caratteri sono rappresentati come codici ASCII e 0
ha il codice ASCII 48
. Sottraendo 0
dal carattere del numero (quindi è equivalente a fare c - 48
), si ottiene un numero intero corrispondente alla cifra del numero.
Per esempio, se il carattere è 3
la sua rappresentazione in ASCII è 51, sottraendo 48 si ottiene 3.