我有一个要求,我在下面取一个 int(示例中的分数)并通过将其与各种范围条件进行比较来返回一个十进制值。如果分数在 1 到 10 之间,则测试自动失败并且不返回小数(在这种情况下,我返回字符串“FAILED”。高于 10 并根据分数匹配的范围返回相应的十进制值。这个这样做感觉不对,想知道是否有更好的方法。我考虑使用字典,每个范围例如 1 到 10 之间存储在一个键中,然后查询它以返回值。但是,我不确定如何这样做。任何人都可以提出更好的方法吗?
谢谢
public decimal GetTestScore(int score, out string status)
{
decimal score = 0m;
string status = string.Empty;
if(score >= 1 && score <= 10)
status = FAILED;
else if(score >= 10 && score <= 20)
score = 1.0;
else if(score >= 20 && score <= 30)
score = 2.0;
else if(score >= 30 && score <= 40)
score = 3.0;
return score;
}