valor una ultimo seleccionar repetidos posicion obtener mostrar lista existe encontrar elementos elemento contenido contar buscar array agregar c# list contains

seleccionar - obtener el ultimo elemento de una lista c#



cómo verificar si el elemento List<T> contiene un elemento con un valor de propiedad particular (6)

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 verificar si el elemento de pricePublicList contiene cierto valor. Para ser más precisos, quiero verificar 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, podría usar Diccionario, pero necesitaría saber cómo :)


En realidad, no necesita LINQ para esto porque List<T> proporciona un método que hace exactamente lo que usted desea: Find .

Busca un elemento que coincida con las condiciones definidas por el predicado especificado y devuelve la primera ocurrencia dentro de la List<T> .

Código de ejemplo:

PricePublicModel result = pricePublicList.Find(x => x.Size == 200);


Esto es bastante fácil de hacer usando LINQ:

var match = pricePublicList.FirstOrDefault(p => p.Size == 200); if (match == null) { // Element doesn''t exist }


Puedes usar el existe

if (pricePublicList.Exists(x => x.Size == 200)) { //code }


Si tiene una lista y desea saber en qué parte de la lista existe un elemento que coincida con un criterio determinado, puede utilizar el método de instancia de FindIndex . Como

int index = list.FindIndex(f => f.Bar == 17);

Donde f => f.Bar == 17 es un predicado con los criterios coincidentes.

En tu caso, podrías escribir

int index = pricePublicList.FindIndex(item => item.Size == 200); if (index >= 0) { // element exists, do what you need }


bool contains = pricePublicList.Any(p => p.Size == 200);


var item = pricePublicList.FirstOrDefault(x => x.Size == 200); if (item != null) { // There exists one with size 200 and is stored in item now } else { // There is no PricePublicModel with size 200 }