我有两份名单
foreach (var a in _teams)
{
Console.WriteLine(a);
}
foreach (var b in _wins)
{
Console.WriteLine(b);
}每个列表都有相同数量的值。现在,我正在分别打印每个值,但如何将a或b的每个值打印在一起。
_teams列表返回澳大利亚,英国,美国_wins列表返回5,6,7
我想印这样的澳大利亚5,英国6,美国7
更新*我正在创建xml节点,所以基本上我不想将它打印在一起。我想要像澳大利亚这样的值,而不是5,而不是6,所以我将创建xml节点,例如
<Team>Australia</Team>
<Win>5</Win>
<Team>England </Team>
<Win>6</Win>...so打开
发布于 2014-06-18 05:34:54
试试这个:
foreach (var a in _teams.Zip(_wins, (t, w) => new { t, w }))
{
Console.WriteLine(a.t + " " + a.w);
}发布于 2014-06-18 05:34:06
这个怎么样:
for(i = 0; i < _teams.Length; i++)
{
Console.Write(_teams[i] + " ");
Console.Write(_wins[i]);
if(i < _teams.Length - 1)
Console.Write(",");
}发布于 2014-06-18 05:34:21
我建议在IEnumerable上查看zip函数。就像这样:
var lst1 = new List<string>(){"One", "Two","Three"};
var lst2 = new List<string>(){"A", "B","C"};
var combined = lst1.Zip(lst2, (fst,snd) => {return fst + ":" + snd;});
foreach (var item in combined)
{
Console.WriteLine (item);
}Zip将采用两个独立的列表,并允许您在这两个视图中构建一个视图。
https://stackoverflow.com/questions/24277668
复制相似问题