存储单个/整数值组

时间:2012-08-29 09:00:15

标签: c#

我正在研究一个不寻常的要求,其中有一个整数参数x,它可以取一个值或一组值。如果参数采用一组值,则仅存储最大值和最小值就足够了。通常的C#思考让我有四个变量,即x,minX,maxX和布尔变量(知道变量是一个还是一组值),我有四个这样的参数,导致类变量膨胀(总共16个)变量)。

C#中是否有任何构造可以帮助我实现上述约束的高效存储?我无法超越可空的价值思考。

2 个答案:

答案 0 :(得分:1)

您可以创建自己的struct

或查看System.Tuple - 内置的通用“容器”类

答案 1 :(得分:0)

minmax

如果只有一个值,则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);
}