Реально ли создать метод с вариативным параметром, который можно не указывать?
static double Discriminant(double a, double b, double c, double d)
{
d = (b * b) - 4 * a * c;
return d;
}
Это метод подсчета дискриминанта
double QE = Discriminant(a: 23, b: 15, c: 12);
Это переменная, которой присваивается значение, которое считает вышеуказанный метод. Но задав d мы распечатываем, не то что мы посчитали, а то что мы задали. В этом и проблема
Есть три варианта:
double Discriminant(double a, double b, double? c = null, double? d = null)?public static void Program(params object[] args) (схожий вопрос тут)PS Зачем вам вообще d? Можно написать проще:
static double Discriminant(double a, double b, double c)
{
return (b * b) - 4 * a * c;
}
double QE = Discriminant(a: 23, b: 15, c: 12);
Насчёт:
точно ведь, можно просто объявить ее в методе не передавая.
Эта переменная используется менее двух раз (не нужна для дальнейших расчётов), её можно не объявлять. Удобство разве что для отладки.
Продвижение своими сайтами как стратегия роста и независимости