1

我做了一个程序

string[] arrExposureValues = stock.ExposureCollection[dt].Values.ToArray();
for(int i = 0; i < arrExposureValues.Length; i++)
    Console.WriteLine(arrExposureValues[i]);

没有错,工作正常。

但是有没有可能做类似下面的事情

for(int i = 0; i < stock.ExposureCollection[dt].Count; i++)    
    Console.WriteLine(stock.ExposureCollection[dt].Values[i]);

这只是为了我的知识(基本上试图在一行中完成同样的事情)。

注意:ExposureCollection 是Dictionary<DateTime, Dictionary<string, string>>

首先,我怀疑这是否可能!

我正在使用 C# 3.0。

谢谢。

4

4 回答 4

1

您可以使用 foreach 枚举 stock.ExposureCollection[dt].Keys 列表。

foreach( string key in stock.ExposureCollection[dt].Keys ) {
  Console.WriteLine(stock.ExposureCollection[dt][key]);
}
于 2010-06-01T07:58:16.833 回答
1

首先,你的任务是什么?同时枚举字典和枚举内部字典?

foreach(var item in dic)
{
    foreach(var inner in item.Value)
    {
        Console.WriteLine("key={0}, inner key={1}, inner value={2}",
            item.Key, inner.Key, inner.Value);
    }
}
于 2010-06-01T08:01:55.877 回答
0
for(int i = 0; i < stock.ExposureCollection[dt].Count; i++)     
    Console.WriteLine(stock.ExposureCollection[dt].Values.ElementAt(i)); 
于 2010-06-01T09:34:16.967 回答
-1

尝试 SortedList - 它具有可以索引的值和键等属性。

于 2010-06-01T07:54:49.640 回答