A NullReferenceException
бросается, когда мы пытаемся получить доступ к свойствам нулевого объекта или когда значение строки становится пустым, и мы пытаемся получить доступ к строковым методам.
Например:
string str = string.Empty;
str.ToLower(); // throw null reference exception
Public Class Person {
public string Name { get; set; }
}
Person objPerson;
objPerson.Name /// throw Null refernce Exception
Вам не хватает того, что 3 и 5 являются целыми числами, поэтому вы получаете целочисленное деление. Чтобы заставить компилятор выполнить деление с плавающей запятой, сделайте одно из них действительным числом:
double f = 3.0 / 5;
Попробуйте поставить .0
после одного из делителей. Это преобразует их в литералы с плавающей запятой.
Вы используете целые числа. Вы можете многое сделать, чтобы ваши константы были такими же, как и leftaroundabout, но это не очень хорошо. Трудно читать и запутывать. Если вы хотите, чтобы 3 и 5 сделали их 3.0 и 5.0. Каждый будет знать, что вы имеете в виду, если они вынуждены читать ваш код. Большая часть того, что он / она заявляет, действительно требует, чтобы вы знали C / C ++ и как float - хранилище для создания голов или хвостов.
Не нужно [] быть .0
, вы также можете делать 3./5
или 3/5.
или 3e+0 / 5
или 3 / 5e-0
или 0xCp-2 / 5
или ... там только должен быть включенным индикатором, чтобы компилятор знал, что он должен выполнять деление как плавающую точку.
Другая возможность: double f=double(3)/5
.
Или просто используйте double f=.6
, что тоже делает трюк ...
попробуйте следующее:
double f = 3.0/5.0;
это должно устранить вашу проблему