Вот еще одна альтернатива. Конечно, это даст вам плохой результат, если входной символ не ASCII. Я не проверял это, но я думаю это было бы довольно быстро:
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private static int GetAsciiVal(string s, int index) {
return GetAsciiVal(s[index]);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private static int GetAsciiVal(char c) {
return unchecked(c & 0xFF);
}