您好,实际上我不知道如何解决这个问题。
好吧,我有一个类对数组进行一些关键测试。测试取决于阵列的长度。
示例
class Test
{
public void CritTest(double[] n)
{
int j = n.Length();
double zen;
if (j == 3)
zen = n.Max() / 0.941;
if (j == 4)
zen = n.Max() / 0.765;
if (j == 5)
zen = n.Max() / 0.642;
if (j == 6)
zen = n.Max() / 0.560;
//and so on...
}
}
像这样它有相应的值取决于长度。如果它到目前为止如何处理它?
我有一个特定的关键表
答案 0 :(得分:1)
class Test
{
public Dictionary<int, double> GetTargetValues()
{
var result = Dictionary<int, double>();
result.Add(3, 0.941);
result.Add(4, 0.765);
result.Add(5, 0.642);
result.Add(6, 0.560);
// You can fill this dictionary dynamically or add more lines statically
return result;
}
public void CritTest(double[] n)
{
int length = n.Length();
double zen;
var targetValues = this.GetTargetValues();
if (targetValues.ContainsKey(length))
{
zen = n.Max() / targetValues[length];
}
else
{
throw new Exception("The value ${length} is not registered.");
}
}
}
答案 1 :(得分:0)
取决于您希望如何处理查找表(例如,您是否要从文件中加载它?),但这是使用数组作为查找的简单方法。范围验证留给读者练习。
class test
{
public void CritTest(double[] n)
{
double [] lookupTable = { 0,0,0, 0.941, 0.765, 0.642, 0.560};
int j = n.Length();
double zen;
zen = n.Max() / lookupTable[j];
}
}