在C语言中,可以通过在数字前添加0
来表示八进制数,例如:
int i = 012; // Equals 10 in decimal.
我发现在C#中使用十六进制时需要在数字前加上0x
。
int i = 0xA; // Equals 10 in decimal.
现在我的问题是:在C#中是否有八进制数字的等价物来表示任何值?
在C语言中,可以通过在数字前添加0
来表示八进制数,例如:
int i = 012; // Equals 10 in decimal.
我发现在C#中使用十六进制时需要在数字前加上0x
。
int i = 0xA; // Equals 10 in decimal.
现在我的问题是:在C#中是否有八进制数字的等价物来表示任何值?
不,C#中没有八进制数字字面量。
对于字符串:Convert.ToInt32("12", 8)
返回 10
。
9.4.4.2 整数字面量
整数字面量用于编写 int、uint、long 和 ulong 类型的值。整数字面量有两种可能的形式:十进制和十六进制。
没有八进制形式。
0b10
表示十进制的 2
。 - mklement0在C#中不存在八进制数。
使用public static int ToInt32(string value, int fromBase);
fromBase
Type: System.Int32
The base of the number in value, which must be 2, 8, 10, or 16.
您不能使用字面量,但是您可以解析八进制数:Convert.ToInt32("12", 8)
。