【问题标题】:Printing the value of list in c#在 C# 中打印列表的值
【发布时间】:2015-04-23 16:23:39
【问题描述】:

我正在尝试打印列表的值。但它只是打印地址的值。我的代码如下所示。

class Program 
{
    static void Main(string[] args) 
    {
       Node n = new Node("a", 12);
       Node n1 = new Node("b", 13);

       printNode(n);
       List<Node> a = printNode(n1);

       Console.WriteLine(a.ToString());
       Console.ReadLine();
    }


    public static List<Node> printNode(Node n)
    {
        List<Node> a = new List<Node>();
        a.Add(n);
        return a;
    }
}

我的 Node 类是这样的。

class Node 
{
    public string value;
    public double h;
    public Node parent;

    public Node(string val, double hVal) 
    {
        value = val;
        h = hVal;
    }

    public override string ToString()
    {
        return value;
    }
}

如何像这样打印 [a,b]?

【问题讨论】:

    标签: c# list printing


    【解决方案1】:

    您的代码目前没有多大意义。您将Node 传递给printNode,它实际上创建了一个新列表 并返回它。

    如果您只是想打印列表中的项目,则需要迭代该列表并打印其值:

    Node n = new Node("a", 12);
    Node n1 = new Node("b", 13);
    
    List<Node> nodes = new List<Node> { n, n1 };
    
    Console.WriteLine(string.Join(", ", nodes));
    Console.ReadLine();
    

    在这里,string.Join 将迭代您的列表并使用 "," 分隔符连接每个值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      • 2018-05-31
      相关资源
      最近更新 更多