Вы можете добавить приведение типа (byte)
перед 160.
Я немного запутался, почему для этого требуется такая большая функция.
Обновленный ответ:
Учитывая, что существует только 10 возможных цифр для преобразования, вы можете сделать что-то вроде этого, чтобы сделать его немного более читабельным. Я думаю, в любом случае, я обычно не пишу код на C #, и я сейчас на Mac ... не стесняйтесь bash мой код.
public static string TranslateNumerals(string sIn)
{
var sb = new System.Text.StringBuilder();
char[] arabic = { '٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩'};
foreach (char c in sIn) {
int idx;
// if it wasn't a number, just append it, otherwise convert it
if(!Integer.tryParse("" + c, idx)) {
sb.Append(c);
} else {
sb.Append(arabic[idx]);
}
}
return sb.toString();
}
// backwards array (which appears frontwards here)
{ '٩','٨','٧','٦','٥','٤','٣', '٢', '١', '٠'};