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>();
Cómo comprobar si el elemento de pricePublicList
contiene cierto valor. Para ser más preciso, quiero comprobar si existe pricePublicModel.Size == 200
. Además, si este elemento existe, ¿cómo saber cuál es?
EDITAR Si el Diccionario es más adecuado para esto, entonces podría usar Diccionario, pero necesitaría saber cómo :)
findIndex
regresará–1
. Documentación: msdn.microsoft.com/es-es/library/x1xzf2ca(v=vs.110).aspxfuente
how to know which one is it
Puedes usar el existe
fuente
Esto es bastante fácil de hacer usando LINQ:
fuente
match
valor que se devuelve se puede modificar (es elPricePublicModel
objeto que estaba en la lista).match.Size = 300;
oforeach(var item in pricePublicList.Where(p => p.Size == 200)) item.Size = 300;
. Sin embargo, no lo usaría como una sola línea.En realidad no necesita LINQ para esto porque
List<T>
proporciona un método que hace exactamente lo que quiere:Find
.Código de ejemplo:
fuente
fuente