Domanda

Possiamo fare qualcosa di simile a List.Contains(myItem) al fine di verificare se una proprietà su un elemento della lista è uguale a una proprietà su myItem.

(abbiamo considerato Contains e Exists, qualcosa come:

if (orderLines.Contains(myLine)) { ... }

ma non può ottenere una semplice espressione.)

Ci piacerebbe qualcosa di semplice come il seguente:

if (orderLines.[MethodName](myLine))
{
}

e questo metodo dovrebbe automagicamente restituire true se almeno un elemento orderLines[i] soddisfa:

myLine.Product.Equals(orderLines[i].Product)

Abbiamo implementato IEquatable<OrderLine> che equivale dalla Product proprietà, ma non in grado di trovare il modo di procedere da lì.

È stato utile?

Soluzione

Stai usando .NET 3.5? In tal caso, utilizzare LINQ:

if (orderLines.Any(order => order.Product == myLine.Product))
{
    ...
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top