Итак, я работаю над проектом на основе химии и столкнулся с этой сложной проблемой. У меня есть куча функций, выполняющих вычисления типа химии, и вы хотите передать номер avogadros в качестве параметра по умолчанию для функции. Позвольте мне просто дайте код говорить:Как заставить постоянную времени выполнения быть константой времени компиляции?
class Constants
{
//must be readonly to b/c Math.Pow is calculated at run-time
public static double readonly avogadrosNum = 6.022*Math.Pow(10,-22);
}
class chemCalculations
{ //getting default parameter must be a compile-time constant
public double genericCalc(double avogadrosNum = Constants.avogadrosNum);
}
Edit: не знал о экспоненциальном формате, спасибо ребята
Почему бы вам не рассчитать результат inst ead вызова pow, а затем использовать const? –
Это пустая микроватт. Подумайте о будущем. –
@ DanielS. Если вы имеете в виду предварительное вычисление результата с использованием Math.Pow и сохранение его в переменной, я пробовал это, и он не работал, потому что Math.Pow не вычисляется до времени выполнения – user2202911