2017-02-11 3 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

걱정할 필요가 없습니다. 기꺼이 도와 드리겠습니다. –