public class PricePublicModel
{
public PricePublicModel() { }
public int PriceGroupID { get; set; }
public double Size { get; set; }
public double Size2 { get; set; }
public int[] PrintType { get; set; }
public double[] Price { get; set; }
}
List<PricePublicModel> pricePublicList = new List<PricePublicModel>();
Как проверить, pricePublicList
содержит ли элемент определенное значение. Точнее хочу проверить, есть ли pricePublicModel.Size == 200
? Кроме того, если этот элемент существует, как узнать, какой это?
ИЗМЕНИТЬ Если Dictionary больше подходит для этого, я мог бы использовать Dictionary, но мне нужно было бы знать, как :)
findIndex
вернется–1
. Документация: msdn.microsoft.com/es-es/library/x1xzf2ca(v=vs.110).aspxисточник
how to know which one is it
Вы можете использовать существующие
источник
Это довольно просто сделать с помощью LINQ:
источник
match
Значение, которое возвращается может быть изменен (этоPricePublicModel
объект , который был в списке).match.Size = 300;
илиforeach(var item in pricePublicList.Where(p => p.Size == 200)) item.Size = 300;
. Однако я бы не стал использовать его как однострочник.Вы на самом деле не нужно LINQ для этого , потому что
List<T>
предоставляет метод , который делает именно то , что вы хотите:Find
.Пример кода:
источник
источник