我将如何构造 PrintNode() 方法?

How would I structure PrintNode() method?

目前这是我的 PrintNode() 方法,它给了我

交易编号:

日期 //////////////////// 描述 /////// DebitCredit///// 金额

12345678:2012/01/15 腹肌 100

而且我希望将值放在正确的位置。

12345678 应该属于交易号:

2012/01/2015 日期

等等

我该如何格式化它? (很抱歉,如果这是一个可怕的问题。我还是新手),找到了方法,但我不知道如何"Prettify"。

public void PrintNodes(LinkedList<Transactions> values)
        {
            if (values.Count != 0)
            {
                txtOutput.Text += "Transaction Details for Account No" + + ":" + "\r\n" + "Date\t\tDescription\tDebitCredit\tAmount";

                foreach (Transactions t in values) 
                {
                    txtOutput.Text += "\r\n" + t + "\t";
                    txtOutput.Text += "\t";
                }
                txtOutput.Text += "\r\n";
            }
            else
            {
                txtOutput.Text += "The Doubly Linked List is empty!";
            }

        }

试试这个片段,看看有什么不同

public void PrintNodes(LinkedList<Transactions> values)
    {
        if (values != null && values.Count > 0)
        {
            int accountNumber = 1000001;
            StringBuilder builder = new StringBuilder();
            builder.Append($"Transaction Details for Account No. {accountNumber}");
            builder.Append(Environment.NewLine);
            builder.Append("Date\t\tDescription\t\tDebitCredit\t\tAmount");
            builder.Append(Environment.NewLine);
            foreach (Transactions t in values)
            {
                builder.Append($"{t.Date}\t\t{t.Description}\t\t{t.DebitCard}\t\t{t.Amount}");
                builder.Append(Environment.NewLine);
            }
            txtOutput.Text += builder.ToString();
        }
        else
        {
            txtOutput.Text = "The list is empty!";
        }
    }