Почему в результате выводится 117642?

98
07 марта 2022, 13:10
int a = 153;
Console.Write(Math.Pow(a.ToString()[0], 3));

Вроде бы как "1" должно выводиться, так как 1 в кубе будет равно самому себе...

Answer 1

Потому что вы передаете методу не цифру 1, а код символа 1, чтобы получить желаемый результат вам нужно переписать пример так:

int a = 153;
Console.Write(Math.Pow(Char.GetNumericValue(a.ToString()[0]), 3));
Answer 2

потому что приводишь число к string, берешь первый элемент по индексу, а это char, у тебя там цифра 1, у нее аски код 49, а 49^3 = 117649

READ ALSO
Перенос строки работает странно (C# + SFML)

Перенос строки работает странно (C# + SFML)

Делаю программу на SFMLЯ хотел сделать, чтобы когда текст выходил за границы экрана, текст переносился на новую строку

65
Передача ссылочного параметра в метод по значению

Передача ссылочного параметра в метод по значению

В документации microsoft написано, что если передавать ссылочный тип по значению, то фактически в метод передаётся копия на ссылкуТогда почему...

106
Sfml c# linux как компилить?

Sfml c# linux как компилить?

Как работать с sfml на с# в линуксЕсть идея с моно, но есть желание разрабатывать сразу на ubuntu и запускать

165
Многопоточность в win-службе на .net core

Многопоточность в win-службе на .net core

Помогите разобраться с правильным использованием многопоточности в виндовс-службе, написанной наnet core

88