Я тестировал, что было возвращено из деления, включая нули, т.е. 0/1
, 1/0
и 0/0
. Для этого я использовал что-то похожее на следующее:
Console.WriteLine(1d / 0d);
Однако этот код печатает 8
not Infinity
или некоторую другую строковую константу, такую как PositiveInfinity
.
Для полноты всей следующей печати 8
:
Console.WriteLine(1d / 0d);
double value = 1d / 0d;
Console.WriteLine(value);
Console.WriteLine(Double.PositiveInfinity);
И Console.WriteLine(Double.NegativeInfinity);
печатает -8
.
Почему эта бесконечность печатает 8?
Для тех из вас, кто, кажется, считает, что это символ бесконечности, а не восемь следующих программ:
Console.WriteLine(1d / 0d);
double value = 1d / 0d;
Console.WriteLine(value);
Console.WriteLine(Double.PositiveInfinity);
Console.WriteLine(8);
Выходы: