2013-03-11 16 views
10

ja jechałem przez jakiś kod C# i przyszedł na tej linii:(-) Symbol używany w Konwersja Metoda

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

Co dokładnie robi (-) zrobić ??

Jaki byłby inny sposób napisania tego, jeśli taki istnieje?

+3

'-' jest operatorem odejmowania. Tutaj odejmuje wartość "0", która wynosi 48 (punkt unicode dla znaku zerowego). – Vulcan

+0

Jaki jest powracający typ 'grab [i, j]'? –

+0

char jest typem zwracania – JLott

Odpowiedz

8

- (minus) robi dokładnie to samo, co zawsze - odejmowanie. To, co się tutaj dzieje, polega na odjęciu kodu postaci zerowej '0' od znaku pod numerem [i,j]. Przekształca to znak cyfry w liczbę całkowitą odpowiadającej cyfry. Na przykład, jeśli obliczyć

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

wartość digitVal jest siedem.

+0

Gotcha ok. Nie sądziłem, że to było takie proste i pomyślałem, że może to być coś specjalnego w metodzie Convert. Dzięki! – JLott