Функция Abs для строки

На одном сайте нашёл вот этот пример кода:

string str = "d4";
var res = Math.Abs(str[0]);
var res1 = Math.Abs(str[1]);

Почему значения вот этих двух res разные? Вроде как и то и другое берёт математическую операцию от символа, следовательно значение должно быть идентичным, или нет?

Любая строка являет собой изначально массив с символами. Когда выбираешь элемент строки по индексу - получается выбранный символ. Любые математические операции с символами подразумевают собой математические операции над числовым кодом символов.

Символы разные - вот и коды разные. Возьмите то же самое, только для одного и того же символа - получите одинаковый результат.