şimdi bununla uğraşıyorsa.Bir <T> Listesindeki tüm öğeleri kaldırın, eğer T varyasyonları
Ayak parmağımı WebAPI dünyasına batırıyorum ve aynı adı taşıyan ancak farklı fiyatlarla ürün içeren bir Listem var. Ne yapmam gerekiyorsa, bir ürünün tüm referansları kaldırmak fiyat varyasyonları olduğunu. Örn.,
örn.
name = "Mısır gevreği" Fiyat = "1.99M"
name = "Mısır gevreği" Fiyat = "1.89M"
name = "Pirinç Krispies" Fiyat = "2.09M"
name = "Mısır gevreği" Fiyat = " 2.09M "
Hayır mısır gevreği son listemde görünmelidir.
Yazılı yığınlarım var ancak ürünleri çok yakında kaldırarak kaldırmam gereken yerlerden emin değilim.
public IEnumerable<Product> GetProductsByCategory(int Id)
{
List<Product> sourceProductList = products.Where(p => p.CategoryID == Id).ToList();
List<Product> tempProducts = new List<Product>();
List<Product> targetProductList = new List<Product>();
foreach (var product in sourceProductList)
{
bool isInTempList = tempProducts.Any(x => x.Name == product.Name);
if (!isInTempList)
{
tempProducts.Add(product);
}
else
{
Product tempProduct = product;
bool isPriceDifferent = tempProducts.Where(y => y.Name == tempProduct.Name).Any(y => y.Price != tempProduct.Price);
if (isPriceDifferent)
{
tempProducts.RemoveAll(p => p.Name == product.Name);
// too soon as I may have lots of products with the same name
// but need to remove based on product.Name
}
}
}
targetProductList.AddRange(tempProducts);
return targetProductList;
}
Herhangi bir yardım büyük memnuniyetle karşılanacaktır.
Not: diğer hububat
@MarkByers ben asla olmayacak emin oldum. – Brett