在 C# 中打印列表的值

Printing the value of list in c#

我正在尝试打印列表的值。但它只是打印 address.My 代码的值,如下所示。

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;
    }
}

我的节点class是这样的。

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]?

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

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

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 将迭代您的列表并使用 "," 分隔符连接每个值。