2012-08-07 84 views
1

嗨,我有一個對象列表,我需要找出我的ID是否已經在列表中。在對象類中,我設置了id,我只想知道在Ui中輸入的是否已經被使用。檢查對象列表是否包含屬性

的Class

class Product 
{ 

    private string name = ""; 
    private int id = 0; 
    private decimal Pvalue = 0.00m; 
    private static int lastId = 1; 

    public Product(string namep, decimal valuep) 
    { 
     this.name = namep; 
     this.id = lastId++; 
     this.Pvalue = valuep; 
    } 



    public override string ToString() 
    { 
     return name + "  " + id + " "+ Pvalue; 
    } 


    public bool Equals(Product p) 
    { 

     return (p.id == this.id); 
    } 
} 

我試圖去解決它:

int id; 

     bool test = int.TryParse(textBoxId.Text, out id); 


      if(test) 
      { 


       if(Inv.Contains(id)) 
       { 

       label2.Text = "you already have this id"; 

       }else 
       { 
        label2.Text = "you can use this id";    
       } 

      } 

如果任何人有這是爲什麼不工作一個想法或一個更好的方式,它會拯救我的背面感謝您。

回答

4

變化private int id = 0;變爲public int Id { get; set; }。另外,將所有參考文獻從id更改爲Id

using System.Linq添加到您的業務邏輯文件。

變化if (Inv.Contains(id))if (Inv.Any(x => x.Id == id))

+0

感謝您的幫助,但IM仍然得到同樣的事情「對象不包含對ID的定義」 – 1ftw1 2012-08-07 05:01:24

+0

是什麼類型'Inv'? – Dan 2012-08-07 05:02:14

+0

它是不是對象? – 1ftw1 2012-08-07 05:03:21

相關問題