在两种类型的List上使用foreach循环?

时间:2013-04-12 18:43:04

标签: c# list foreach

我知道我可以使用foreach循环,如下所示:

List<int> handles = GetHandles();

foreach (int handle in handles)
{
    // do stuff
}

我可以对SortedList做同样的事情吗?

SortedList<string, int> namesAndHandles;
编辑:对不起,打错了。它应该是SortedList。基本上我想将其转换为IDictionary并根据名称访问句柄

2 个答案:

答案 0 :(得分:4)

没有List<string, int>这样的东西 - 没有List<,>类型,有两个类型参数。如果您有一组名称/句柄对,则应使用List<Tuple<string, int>>或创建自己的NameAndHandle类。要么foreach能正常工作。

(如果你真的想要,可以创建你自己的List<TFirst, TSecond>课程,但我真的建议不要这样做。)

答案 1 :(得分:0)

我打赌List&lt; KeyValuePair&lt; string,int&gt;&gt;会做你想要的。您可以迭代集合,.Key属性保存字符串,.Value保存int