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)