(-) Символ, используемый в методе преобразования

Я прошел через код С# и наткнулся на эту строку:

Matrix[i, j] = Convert.ToInt32(grab[i, j] - '0');

Что именно делает (-)?

Что было бы другим способом написать это, если он есть?

Ответ 1

- (минус) делает именно то, что всегда делает - вычитание. Здесь происходит вычитание символьного кода нуля '0' из символа в [i,j]. Это преобразует символ цифры в целое значение соответствующей цифры. Например, если вы вычисляете

char digitChar = '7';
int digitVal = digitChar - '0';

значение digitVal равно семи.