从Dictionary获取值

时间:2015-12-22 10:27:40

标签: c# dictionary

您好我使用了如下字典。

Dictionary<int, List<double>> conditionbase = new Dictionary<int, List<double>>();

在这本词典中,我根据columnindex存储了最大值和最小值作为关键字。

现在我需要根据这些最大值和最小值获得特定的columnindex?

1 个答案:

答案 0 :(得分:2)

首先假设min和/或max值对于给定的列索引不是唯一的,那么您希望找到具有特定min和max的列。

因此,忽略双重平等的诡计,尝试类似:

var min = 1.0;
var max = 100.0
var columns = conditionbase.Where(x => x.Value.Max() == max && x.Value.Min() == min).Select(y => y.Key).ToArray();

或者,如果您的最大值和最小值在索引处:

var columns = conditionbase.Where(x => x.Value[1] == max && x.Value[0] == min).Select(y => y.Key).ToArray();

注意:双打的平等比较可能困难

如果您的列表只有最大值和最小值,请考虑使用类似的类型:

public class Limits
{
   double Minimum {get; set;}
   double Maximum {get; set; }
}

然后......你的词典变成了:

var conditionbase = new Dictionary<int, Limits>();

好多了。很多选择。