2013-04-22 60 views
3

我正嘗試使用WriteLine在控制檯應用程序中顯示列表的內容。我使用下面的代碼:嘗試使用WriteLine在控制檯應用程序中顯示列表的內容

using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 
    using System.Threading.Tasks; 
    using TestCLient.ClientTransactionsServiceReference; 

    namespace TestCLient 
    { 
     class Program 
     { 
      static void Main(string[] args) 
      { 
       ClientTransactionsServiceClient client = new ClientTransactionsServiceClient(); 
       List<ClientTransactions> ct = client.GetClientTransactions("9999"); 
       ct.ForEach(i => Console.Write(i)); 
       Console.Read(); 
      } 
     } 
    } 

我得到以下輸出:

Output Screenshot

當我調試,我的名單(CT)表明,它包含我想要顯示的字段。看到下面的截圖:

Debug screenshot

我已經搜查了許多來源,包括協議棧讓我用寫我的列表中的代碼行。我是編程新手,非常感謝您的協助。

感謝

+0

您必須編寫ClientTransactions的一些屬性。不是對象,就像i.something – 2013-04-22 16:42:13

+2

你能上傳更大的屏幕截圖嗎?我們幾乎看不到任何東西。最有可能的是,你需要寫一些像'Console.WriteLine(i.Property1 +「」+ i.Property2)'來顯示實際內容 – 2013-04-22 16:42:33

+0

@JuliánUrbanoSO重新調整圖像大小以適合線程。右鍵單擊>查看圖像|在新標籤頁中打開:p – 2013-04-22 16:44:28

回答

4

Console.Write在您試圖在控制檯中打印的對象上隱式調用ToString()。由於您的類型不覆蓋ToString(),所返回的文本是由Object類(所有類型都從中派生而來)定義的默認實現ToString()的結果。

而不是通過i作爲參數Console.Writei.NameOfThePropertyYouWantToOutput

0

既然你輸出的ClientTransactions一個實例,你需要指定如何呈現在控制檯上的信息。您可以輸出此實例的一個或多個屬性,也可以覆蓋ToString()方法。

1

你要麼打印出您需要的每個屬性..或者更好的是,覆蓋ToString()方法調用,像下面的代碼:

ct.ForEach(i => Console.Write(i.ToString()));

-1

您嘗試解析您的對象轉換爲字符串。

如果您想正確顯示您的對象到控制檯中,您需要顯示您的客戶端對象的成員。

ct.ForEach(i => Console.Write(i.Name)); // exemple 
      Console.Read(); 
相關問題