C# 如何从字典中获取键和值

C# 如何从字典中获取键和值,c#,C#,因此,我有一本字典,其设置如下: Dictionary<DateTime, List<Double>> 以此类推大约6个月。我需要得到这些键和值。我需要把它放到我的数据库里。例如,对于值100.00、3.00、35.00,它们都与月7/1/10协调(第一个键下有3个值,以此类推) 有人能告诉我如何迭代这些东西吗?当我调试我的字典时,所有的信息都正确地输入了,但我无法将它们提取出来。只需在嵌套循环中直接迭代它们 Dictionary<DateTime, List&l

因此,我有一本字典,其设置如下:

Dictionary<DateTime, List<Double>>
以此类推大约6个月。我需要得到这些键和值。我需要把它放到我的数据库里。例如,对于值100.00、3.00、35.00,它们都与月7/1/10协调(第一个键下有3个值,以此类推)


有人能告诉我如何迭代这些东西吗?当我调试我的字典时,所有的信息都正确地输入了,但我无法将它们提取出来。

只需在嵌套循环中直接迭代它们

Dictionary<DateTime, List<Double>> map;
foreach (var pair in map) {
  DateTime dt = pair.Key;
  foreach (double value in pair.Value) {
    // Now you have the DateTime and Double values
  }
}
字典地图;
foreach(映射中的变量对){
DateTime dt=pair.Key;
foreach(成对双值。值){
//现在您有了DateTime和Double值
}
}

foreach(KeyValuePair您可以对奇异值执行此操作(如果您知道该键)

或使用linq:

 var myDict = new Dictionary<DateTime, List<Double>>();
 var julyValues= myDict.Where(r => r.Key == new DateTime(2010, 7, 1))
                       .Select(r => r.Value);

Gahh to fast for me yo!@AMR他对我们所有人来说都太快了。但是这种问题人们会跳上去的。@JaredPar希望你不要介意,我通过移动
dt
声明改进了你的答案,这样每个值只设置一次,它的范围更有意义。@JaredPar说真的……你有276k代表和44个金徽章。你为什么不坐下来呢或者一点点,让我们这些卑鄙的家伙进来吸一点乳头。lol@AMR不能要求瘾君子停止吸毒;)。此外,如果我不在这里发布,我必须做真正的工作,这将只选择键,这只有在您使用它从字典中选择值时才有用(我认为您需要包括该部分以完成答案)。
 foreach(KeyValuePair<DateTime,List<Double> pair in dictionaryName){
    DateTime dt = pair.Key;
    List<Double> doubleList = pair.Value;

    //With this method you now can step through each key value pair 
 }
List<double> values = myDictionary[someDateValue];
foreach(var pair in myDictionary)
{
    DateTime keyValue = pair.Key;
    List<double> valueValue = pair.Value;
}
 var myDict = new Dictionary<DateTime, List<Double>>();
 var julyValues= myDict.Where(r => r.Key == new DateTime(2010, 7, 1))
                       .Select(r => r.Value);
var groupValues= myDict.GroupBy(r => r.Key)
                       .Select(grp => 
                               new { grp.Key, 
                                     values = grp.Select(r => r.Value) 
                                   }
                               );