为了账号安全,请及时绑定邮箱和手机立即绑定

如何打印 List<List<KeyValuepair>?

如何打印 List<List<KeyValuepair>?

C#
慕容森 2021-10-09 16:39:46
class Program{    static void Main(string[] args)    {        List<List<double>> myList = new List<List<double>>();        myList.Add(new List<double> { 2D, 2D, 3D, 5D, 8D, 11D, 13D, 13D, 11D, 8D, 5D, 3D });        myList.Add(new List<double> { 6D, 7D, 10D, 14D, 18D, 21D, 22D, 22D, 19D, 15D, 10D, 7D });        List<List<KeyValuePair<string, double>>> result = new List<List<KeyValuePair<string, double>>>();        for (int i = 0; i < myList.Count; i++)        {            List<KeyValuePair<string, double>> r = new List<KeyValuePair<string, double>>();            for (int j = 0; j < myList[i].Count; j++)            {                r.Add(new KeyValuePair<string, double>("Values", myList[i][j]));            }            result.Add(r);        }        foreach(var element in result)        {            Console.WriteLine(element);            Console.ReadLine();        }    }}我想打印列表“结果”的内容。上面的 foreach 循环不起作用。打印列表的正确方法是什么?
查看完整描述

3 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

你的意思是这样吗?


foreach(List<KeyValuePair<string, double>> pair in result)

{

    foreach (KeyValuePair<string, double> innerpair in pair)

    {

        Console.WriteLine(innerpair.Key + " " + innerpair.Value);

    }

}


查看完整回答
反对 回复 2021-10-09
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

假设数据在内存中,您可以使用 LINQ:

String.Join(Environment.NewLine, myList.SelectMany(l => l.ToString()).ToArray());

它的作用是在将值转换为字符串时将列表 ( SelectManyToArray) 展平,然后使用String.Join.

通过using System.Linq;在适当的部分中指定,确保您能够使用 LINQ 。

或者,您可以使用foreach迭代SelectMany结果;在这种情况下,一个foreach就足够了。


查看完整回答
反对 回复 2021-10-09
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

您需要在打印到控制台的代码中嵌套另一个 foreach,如下所示:


foreach(var element in result) {

       foreach(var el in element) {

                Console.WriteLine("Key: " + el.Key + ", Value: " + el.Value);

       }          

}


查看完整回答
反对 回复 2021-10-09
  • 3 回答
  • 0 关注
  • 206 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信