C# 相当于 Java 的 Character.digit

use*_*353 2 c# java char

我有以下 Java 代码,我正在尝试用 C# 重写。

byte b = ...;

int i = Character.digit((char)b, 16);
Run Code Online (Sandbox Code Playgroud)

C#中是否有相当于Character.digit的东西

http://docs.oracle.com/javase/7/docs/api/java/lang/Character.html#digit(char,%20int)

返回指定基数中字符 ch 的数值。

Dmi*_*nko 6

你必须手动实现它,如下所示:

public static int Digit(char value, int radix) {
  if ((radix <= 0) || (radix > 36))
    return -1; // Or throw exception

  if (radix <= 10) 
    if (value >= '0' && value < '0' + radix)
      return value - '0';
    else
      return -1;
  else if (value >= '0' && value <= '9')
    return value - '0';
  else if (value >= 'a' && value < 'a' + radix - 10)
    return value - 'a' + 10;
  else if (value >= 'A' && value < 'A' + radix - 10)
    return value - 'A' + 10;

  return -1;
}
Run Code Online (Sandbox Code Playgroud)