2016-08-23 45 views
2

目前,这是我的PrintNode()方法和它给我我将如何构造PrintNode()方法?

交易编号:

日期/////////////////////说明// ///// DebitCredit /////金额

12345678:2012/01/15(绝对)100

,我想的值被放到正确的位置。

12345678应当根据Trasaction号:

2012/01/2015下日期

我怎么会格式化呀? (对不起,如果这是一个可怕的问题,我还是新的),找出了方法,但我不知道如何“美化”它。

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

 
     }

+0

可以使用的String.Format或字符串插值。见[link] http://stackoverflow.com/documentation/c%23/24/c-sharp-6-0-features/49/string-interpolation#t=201608230825425794575 [/ link]和[link] http:/ /stackoverflow.com/documentation/c%23/79/string-format#t=201608230827059251396[/link] – Anton

回答

2

试试这个片段代替,看看其中的差别

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!"; 
     } 
    } 
+0

构建器追加什么?对不起这些愚蠢的问题:/它只是很好地知道它在使用它时会发生什么。haha – Anon

+0

它用来代替字符串+ =“line”..不管你是否使用它,这是让你的代码更具可读性和组织性的东西。 –

+0

啊谢谢。这非常有帮助! – Anon