Domanda

Devo trovare una corrispondenza di un elemento in un elenco IQueryable. Ho un elenco come segue:

IQueryable<EventItem> eventItems = new Queryable<EventItem>();
EventItem eventItem1 = new EventItem("Event 1");
EventItem eventItem2 = new EventItem("Event 2");
eventItems.Add(eventItem1);
eventItems.Add(eventItem2);

Ora voglio trovare l'evento nell'elenco passando un EventItem come eventItem2. Come posso cercare e restituire un oggetto simile EventItem found = eventItems.Select (eventItem2);

Saluti,

S

È stato utile?

Soluzione

Linq ha fornito un metodo .Where che ti consente di trasmettere un'espressione lambda per valutare l'elemento che stai cercando.

EventItem found = eventItems.Where(e => e == eventItem2).SingleOrDefault();

found potrebbe essere nullo, quindi devi solo verificarlo per vedere se è stato trovato nella query / list

Altri suggerimenti

usando LINQ puoi fare:

EventItem found = eventItems.SingleOrDefault(item => item.Name == "Event 2");

Supponendo che il nome per EventItem sia esposto tramite una proprietà Name.

La parte item => [code] è dove si fornisce un metodo che restituisce vero / falso, per decidere se gli articoli corrispondono o meno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top