我正在研究一个不寻常的要求,其中有一个整数参数 x,它可以采用单个值或一组值。如果参数取一组值,我只存储最大值和最小值就足够了。通常的 C# 思维使我有四个变量,即 x、minX、maxX 和布尔变量(以了解变量是采用单个值还是一组值),我有四个这样的参数,这导致类变量膨胀(总共 16变量)。
C# 中是否有任何构造可以帮助我在上述约束下进行有效存储?我想不出可以为空的值。
我正在研究一个不寻常的要求,其中有一个整数参数 x,它可以采用单个值或一组值。如果参数取一组值,我只存储最大值和最小值就足够了。通常的 C# 思维使我有四个变量,即 x、minX、maxX 和布尔变量(以了解变量是采用单个值还是一组值),我有四个这样的参数,这导致类变量膨胀(总共 16变量)。
C# 中是否有任何构造可以帮助我在上述约束下进行有效存储?我想不出可以为空的值。
你可以创建自己的结构
或查看System.Tuple - 一个内置的通用“容器”类
min
和max
。
如果只有一个值,那么min
== max
。
对于这种情况,您甚至可以向调用者提供一些糖:
public SomeType MyMethod(int minA, int maxA, int minB, int maxB, int minC, int maxC, int minD, int maxD)
{
//real work here.
}
public SomeType MyMethod(int a, int b, int c, int d)
{
return MyMethod(a, a, b, b, c, c, d, d);
}