C#中的八进制等效
在C语言中,可以通过在数字前面加上00
来编写八进制数
int i=0012; //equals to 10 in decimal
我发现相当于C#中的hex数,例如:
int i=0xA; //equals to 10 in decimal
现在我的问题是: 在C中是否有任何相当于C#中的八进制数来表示任何数字作为八进制?
不,C#中没有八进制数字。
对于string: Convert.ToInt32("12", 8)
返回10
。
ECMA-334第4版,第72页
9.4.4.2整数文字
整型文字用于写入int,uint,long和ulongtypes的值。 整数文字有两种可能的forms:十进制和hex。
不,在C#中没有八进制文字。
如果有必要,你可以传递一个string和一个基地Convert.ToInt32
,但它显然远不如字面好:
int i = Convert.ToInt32("12", 8);
不,在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.
MSDN
你不能使用文字,但你可以parsing一个八进制数: Convert.ToInt32("12", 8)
。