2013-03-11 32 views
10

Tôi đã đi qua một số mã C# và đến khi dòng này:(-) Symbol Được sử dụng trong Chuyển đổi phương pháp

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

chính xác những gì các (-) làm gì ??

Điều gì sẽ là một cách khác để viết điều này nếu có?

+3

'-' là toán tử trừ. Ở đây, nó trừ giá trị của ''0'', là 48 (điểm unicode cho ký tự zero). – Vulcan

+0

Loại trả về của 'lấy [i, j]' là gì? –

+0

char là kiểu trả về của việc lấy – JLott

Trả lời

8

- (trừ) thực hiện chính xác những gì nó luôn làm - trừ đi. Điều xảy ra ở đây là trừ mã ký tự của số không '0' từ ký tự tại [i,j]. Điều này chuyển đổi một ký tự chữ số thành một giá trị số nguyên của chữ số tương ứng. Ví dụ: nếu bạn tính toán

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

giá trị của digitVal là bảy.

+0

OK. Tôi không nghĩ rằng nó đơn giản và nghĩ rằng nó có thể là một cái gì đó đặc biệt đối với phương pháp Convert. Cảm ơn! – JLott

Các vấn đề liên quan