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>();
Como verificar se o elemento de pricePublicList
contém determinado valor. Para ser mais preciso, quero verificar se existe pricePublicModel.Size == 200
? Além disso, se este elemento existe, como saber qual é?
EDITAR Se o Dicionário for mais adequado para isso, então eu poderia usar o Dicionário, mas preciso saber como :)
findIndex
retornará–1
. Documentação: msdn.microsoft.com/es-es/library/x1xzf2ca(v=vs.110).aspxfonte
how to know which one is it
Você pode usar o existe
fonte
Isso é muito fácil de fazer usando LINQ:
fonte
match
valor retornado pode ser modificado (é oPricePublicModel
objeto que estava na lista).match.Size = 300;
ouforeach(var item in pricePublicList.Where(p => p.Size == 200)) item.Size = 300;
. Não o usaria como uma frase de efeito para mim, no entanto.Você realmente não precisa LINQ para isso, porque
List<T>
fornece um método que faz exatamente o que você quer:Find
.Código de exemplo:
fonte
fonte