Octal equivalent in C#

C#.NetNumbers

C# Problem Overview


In C language octal number can be written by placing 0 before number e.g.

 int i = 012; // Equals 10 in decimal.

I found the equivalent of hexadecimal in C# by placing 0x before number e.g.

 int i = 0xA; // Equals 10 in decimal.

Now my question is: Is there any equivalent of octal number in C# to represent any value as octal?

C# Solutions


Solution 1 - C#

No, there are no octal number literals in C#.

For strings: Convert.ToInt32("12", 8) returns 10.

Solution 2 - C#

No there isn't, the language specification (ECMA-334) is quite specific.

4th edition, page 72

> 9.4.4.2 Integer literals > ------------------------ > > Integer literals are used to write values of types int, uint, long, > and ulong. Integer literals have two possible forms: decimal and > hexadecimal.

No octal form.

Solution 3 - C#

No, there are no octal literals in C#.

If necessary, you could pass a string and a base to Convert.ToInt32, but it's obviously nowhere near as nice as a literal:

int i = Convert.ToInt32("12", 8);

Solution 4 - C#

No, there are no octal numbers in C#.

Use 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

Solution 5 - C#

You can't use literals, but you can parse an octal number: Convert.ToInt32("12", 8).

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJaved AkramView Question on Stackoverflow
Solution 1 - C#ulrichbView Answer on Stackoverflow
Solution 2 - C#Julien RoncagliaView Answer on Stackoverflow
Solution 3 - C#LukeHView Answer on Stackoverflow
Solution 4 - C#abatishchevView Answer on Stackoverflow
Solution 5 - C#Mike DourView Answer on Stackoverflow