2017-02-11 20 views
0

クライアントとしてGUIを使用してWCFサービスを行っていますが、現在のアイテムの印刷リストに問題があります。私は再びリストを、それを表示したいがあれば、私は最初の試みで追加されたレコードを表示しようとしているときしかし、それは動作しますが、C#印刷リストの問題

public bool Add_Data(Data sample) 
    { 
     container.Add(sample); 
     Console.WriteLine("New record added!"); 
     return true; 
    } 

そして、それは働いて追加された:私は、リストに新しいエントリを追加するためのコードを持っています同じ要素。それがどのように動くのかを表示するには:

  1. 私は新しいエントリを追加し、I「印刷」のリストだ: IMAGE CLICKはしかし、私は再びそれを見たいので、私は押してる
  2. [どのようにすべき作品]私のフォームに同じボタンがあり、ここでは何が起こるのですか:IMAGE CLICKご覧のとおり、私たちのリスト+追加の同じレコードがあります、私は再びボタンを押すと、私は3つの同じレコードがあります。

    public string Show_Data() 
        { 
         Console.WriteLine("Printing records"); 
         foreach (Data record in container) 
         { 
          string final_result = ("\nID: "+ + record.ID + " " + "product: " + record.product + " " + "category: " + record.category + " " + "price: " + record.price + " " + "quantity: " + record.quantity + " " + "\n "); 
          result += final_result; 
         } 
         return result;     
        } 
    

    は、あなたがそれを解決する方法を知っていれば、私に教えてください:

はここに私の「ショーレコード」コードです。

+0

関連するコードは、Show_Data()を呼び出す方法であり、投稿されたものではありません。 –

答えて

0

可変範囲を調べる必要があります。 Show_Data()メソッドの外で宣言された結果があります。メソッドが呼び出されるたびに、result += final_result;が結果に追加されます。下のコードを試してみると、異なる結果が得られます。

public string Show_Data() 
{ 
    Console.WriteLine("Printing records"); 
    var output = string.Empty; 
    foreach (Data record in container) 
    { 
     string final_result = ("\nID: "+ + record.ID + " " + "product: " + record.product + " " + "category: " + record.category + " " + "price: " + record.price + " " + "quantity: " + record.quantity + " " + "\n "); 
     output += final_result; 
    } 
    return output;     
} 

また、文字列ビルダーと文字列形式も使用することを検討します。

public string Show_Data() 
{ 
    Console.WriteLine("Printing records"); 
    var output = new StringBuilder(); 
    foreach (Data record in container) 
    { 
     string final_result = string.Format("ID: {0} product: {1} category: {2} price: {3} quantity: {4}", record.ID, record.product, record.category, record.price, record.quantity); 

     // if using C# 6 
     // string final_result = string.Format($"ID: {record.ID} product: {record.product} category: {record.category} price: {record.price} quantity: {record.quantity)}"; 
     output.AppendLine(final_result); 
    } 
    return output.ToString();     
} 
+0

ありがとう! :)それは動作します、私は今それを理解しています:) – jeceko

+0

心配する必要はありません、うれしい私は助けることができます。 –