我可以在方法中检索参数的默认值吗? - c#

例:

public static double ComputeFoo(double nom, double den, double epsilon = 2.2e-16)
{
    double den1 = den == 0.0 ? epsilon : den;
    // den1 can still be zero if epsilon is zero
    // is there any way to retrieve 2.2e-16 here and assign it to den1?
    return nom/den1;
}

有没有办法检索2.2e-16值并在方法中使用它?

附注:我知道,对于这个特定示例,我只能致电ComputeFoo(nom, den1)

参考方案

您可以在类的某个位置设置一个常量值,并将其作为默认值传递给该方法。在那里,您可以检查传递的值是否不同于常数,反之亦然:

static void Main(string[] args)
{
     Test(0);
}

const int constantValue = 15;

static int Test(int testValue = constantValue)
{
    Console.WriteLine(testValue);
    Console.WriteLine(constantValue);

    return constantValue;
}

注意:constantValue必须是一个常量才能成功构建。

Optional.ofNullable和方法链接 - java

我对Optional.ofNullable方法感到惊讶。有一天,我写了一个函数,该函数应该返回Optional:private Optional<Integer> extractFirstValueFrom(InsightsResponse insight) { return Optional.ofNullable(insight.getValu…

Java Double Object与其他Number类型对象的初始化 - java

在Double object documentation中,它只有两个构造函数,一个构造函数使用一个双精度值,另一个构造函数使用一个字符串值。但是,我只是发现,如果我们使用其他Number类型的对象对其进行初始化,它也将起作用。例如,以下代码将起作用:Integer i = Integer.valueOf(10); Double d1 = new Doubl…

LeetCode题解计算机为什么是基于二进制的?

可以是三进制么?二进制有什么好处?题解:为什么叫电子计算机?算盘应该没有二进制

LeetCode题解统计城市的所有灯泡

这个是我刚毕业的时候,一个真实的面试题,这是一个开放题。题目描述:想办法,将一个城市的所有灯泡数量统计出来。题解:费米估算法1、如果某个城市常驻人口有1000万2、假设每5人居住在一套房里,每套房有灯泡5只,那么住宅灯泡共有1000万只3、假设公众场所每10人共享一只灯泡,那么共有100万只4、主要的这两者相加就得出了1100万只当然实际上这是估算的,具体应…

LeetCode题解黑白圆盘

一个圆盘被涂上了黑白二色,两种颜色各占一个半圆。圆盘以一个未知的速度、按一个未知的方向旋转。你有一种特殊的相机可以让你即时观察到圆上的一个点的颜色。你需要多少个相机才能确定圆盘旋转的方向?题解:可以用一个相机即可