Vielleicht ist das ein doppelter Thread, aber ich werde es versuchen, weil es einen winzigen Unterschied gibt.Einen dynamischen Ausdrucksbaum erstellen, um nach einer Auflistungseigenschaft zu filtern 2
Ich versuche, einen dynamischen Ausdruck zu erstellen, um eine Auflistungseigenschaft zu filtern.
Der Code:
public class TestEntity
{
public int ID { get; set; }
public string Name { get; set; }
public IEnumerable<string> Values { get; set; }
}
public class TestFilter
{
public TestFilter()
{
var itens = new List<TestEntity>();
itens.Add(new TestEntity { ID = 1, Name = "Test1", Values = new List<string> { "V1", "V2" } });
itens.Add(new TestEntity { ID = 2, Name = "Test2", Values = new List<string> { "V6", "V3" } });
itens.Add(new TestEntity { ID = 3, Name = "Test3", Values = new List<string> { "V4", "V5" } });
itens.Add(new TestEntity { ID = 4, Name = "Test4", Values = new List<string> { "V2", "V3" } });
itens = itens.Where(e => e.Values.Any(c => c.Equals("V2"))).ToList();
**//Result IDs: 1, 4**
}
}
Der Filter oben gibt mir IDs 1 und 4 als Ergebnis.
Ich möchte Elemente filtern, wo ein bestimmter Wert in der Sammlung "Werte" existiert.
Bisher habe ich versucht this Thread, aber nicht realisiert, wie es gemacht werden kann.
Jede Hilfe würde geschätzt werden.
Also willst du den Ausdruck in 'c => c.Equals (" V2 ")' dynamisch machen? – ckruczek
Ich möchte e => e.Values.Any machen (c => c.Equals ("V2")). Vielen Dank! – marcodotnet
Was erwarten Sie im Ergebnis? –