2012-06-15 63 views
1

好吧,我學會了如何創建列表,查看列表中的項目以及如何使用列表中的項目。我現在想學習如何編輯列表中的信息。如何編輯列表中的項目:C#和WPF

這裏是我的清單:

class ObjectProperties 
     { 
      public string ObjectNumber { get; set; } 
      public string ObjectComments { get; set; } 
      public string ObjectAddress { get; set; } 


     } 

     List<ObjectProperties> Properties = new List<ObjectProperties>(); 

這是怎麼了增加值的列表:

ObjectProperties record = new ObjectProperties 
      { 
       ObjectNumber = txtObjectNumber.Text, 
       ObjectComments = txtComments.Text, 
       ObjectAddress = addressCombined, 
      }; 

      Properties.Add(record); 

我希望用戶通過使用輸入它們要更新哪個號碼文本框(txtUpdateObjectNumber)。然後我想比較這個數字與存儲在record.ObjectNumber中的值,然後如果存在,我想用record.ObjectNumber和record.ObjectComments替換record.ObjectNumber == txtUpdateObjectNumber中的信息。如果你需要我詳細說明任何事情,請告訴我。任何幫助,將不勝感激。謝謝:)

+0

從你說過的話看來,用'Dictionary ()'...加上你的「ObjectNumber」可能會更好地表示爲int或uint 。 – NominSim

+0

但是對象編號必須能夠更改..:/ – JLott

回答

2

要查找列表項,使用LINQ:

ObjectProperties opFound = Properties.Find(x => x.ObjectNumber == txtUpdateObjectNumber.Text); 

或者委託形式:

ObjectProperties opFound = Properties.Find(delegate (ObjectProperties x) { return x.ObjectNumber == txtUpdateObjectNumber.Text; }); 

一旦你找到該列表中的項目,任何改變你製造到opFound,包括ObjectNumber,將堅持在列表中。

+0

您是否知道一旦我這樣做,我會更改列表中的值? – JLott

+0

這將返回'ObjectProperties'對象;您對該屬性所做的任何更改都將保留在列表中。 – saluce

+0

噢,好的。我會試一試:)謝謝。 – JLott