Ответ 1
Нет, в С# нет литералов с восьмеричным числом.
Для строк: Convert.ToInt32("12", 8)
возвращает 10
.
В языке C Октальное число можно записать, разместив 00
до номера, например.
int i=0012; //equals to 10 in decimal
Я нашел эквивалент шестнадцатеричного в С#, разместив 0x
до числа, например.
int i=0xA; //equals to 10 in decimal
Теперь мой вопрос: Есть ли какой-либо эквивалент Octal Number в С#, как в C, для обозначения любого числа как Octal?
Нет, в С# нет литералов с восьмеричным числом.
Для строк: Convert.ToInt32("12", 8)
возвращает 10
.
ECMA-334 4-е издание, стр. 72
9.4.4.2 Целочисленные литералы
Целочисленные литералы используются для записи значений типов int, uint, long, и улонг. Целочисленные литералы имеют две возможные формы: десятичную и шестнадцатеричное.
Нет, в С# нет восьмеричных литералов.
При необходимости вы можете передать строку и базу Convert.ToInt32
, но она, очевидно, нигде не близка так же хороша, как буква:
int i = Convert.ToInt32("12", 8);
Нет, в С# нет восьмеричных чисел.
Используйте 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)
.