public struct PLU
{
    public int ID { get; set; }
    public string name { get; set; }
    public double price { get; set; }
    public int quantity {get;set;}
}

public static ObservableCollection<PLU> PLUList = new ObservableCollection<PLU>();

我有上面的ObservableCollection。现在,我想在ID中搜索PLUList并获取其索引,如下所示:

int index = PLUList.indexOf();
if (index > -1)
{
    // Do something here
}
else
{
    // Do sth else here..
}

快速解决方法是什么?

编辑:

假设某些项目已添加到PLUList中,而我想添加另一个新项目。但是在添加之前,我想检查列表中是否已经存在ID。如果可以,那么我想将+1添加到quantity

最佳答案

使用LINQ :-)

var q =  PLUList.Where(X => X.ID == 13).FirstOrDefault();
if(q != null)
{
   // do stuff
}
else
{
   // do other stuff
}

如果要保留它的结构,请使用它:
var q =  PLUList.IndexOf( PLUList.Where(X => X.ID == 13).FirstOrDefault() );
if(q > -1)
{
   // do stuff
}
else
{
   // do other stuff
}

关于c# - 如何在Observable Collection中搜索项目并获取其索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9328575/

10-10 17:26