c# länge - Wie verwende ich LINQ mit dynamischen Sammlungen?




für meta (3)

Solange data eine IEnumerable von IEnumerable , können Sie IEnumerable verwenden:

var a = ((IEnumerable) data).Cast<dynamic>()
                            .Where(p => p.verified);

Das Cast<dynamic>() soll mit einem IEnumerable<dynamic> enden, so dass der Typ des Parameters für den Lambda-Ausdruck ebenfalls dynamic .

Gibt es eine Möglichkeit, dynamic Objekt in IEnumerable Type zu konvertieren, um die Auflistung mit Eigenschaft zu filtern.

dynamic data = JsonConvert.DeserializeObject(response.Content);

Ich muss auf so etwas zugreifen

var a = data.Where(p => p.verified == true)

Irgendwelche Ideen?


Versuchen Sie, IEnumerable<dynamic>

((IEnumerable<dynamic>)data).Where(d => d.Id == 1);

Dieser Ansatz ist 4x schneller als andere Ansätze.

Viel Glück


Sie können dies auch versuchen.

var results= persons.GroupBy(n => new { n.PersonId, n.car})
                .Select(g => new {
                               g.Key.PersonId,
                               g.Key.car)}).ToList();




c# linq