Не работает оператор If в C#?

Задание впринципе реально очень простое, но почему-то возникает ошибка постоянно... Суть задания в том, что нужно проверить, равняется ли элемент строки нулю и присвоить ему соответствующее целочисленное значение.

Вот мой код:

if (ssRow[(bar_position_row - 3)].Equals("0")

Проблема в том, что вначале ты имеешь строку, туда заносишь значение, а в ответ получаешь не string, а char. Естественно, когда ты потом эту строку сравниваешь с символом, ты получаешь на выходе false.

Попробуй сравнить не "0" со своим значением, а '0'. (не строка, а символ). К тому же так как char - это значимый тип (а не ссылочный, как string), то сравнивать его можно без использования метода Equals, а просто используя оператор "==".

В будущем, что бы избежать подобных проблем, перед сравнением (или любым другим действием), рекоммендуется проверить типы значений через GetType().

Я обычно делаю кастомное исключение, и выбрасываю его если возвращаемое значение метода GetType() равно false. Таким образом даже если и не получится совершить действие, по крайней мере, ты точно можешь узнать причину исключения (ошибки).