Ich habe eine Liste von Objekten, in denen die Objekte eine Guid Id Eigenschaft haben.Prüfe, ob eine Liste von Objekten in Hashset existiert.
Ich habe auch ein Hashset mit einer Reihe von Guids.
Was ist der schnellste Weg, um zu überprüfen, ob jede Guid-Liste in der Liste im Hashset vorhanden ist, und dann eine andere Eigenschaft für das Objekt in der Liste zu aktualisieren, falls sie existiert? Ich habe die Möglichkeit, den Hash-Satz bei Bedarf zu einem anderen Datentyp zu ändern, aber die Liste muss gleich bleiben.
Hier ist die Klassen/enumerable
public class Test
{
public Guid Id {get; set;}
public bool IsResponded {get; set;}
}
var clientResponses = new HashSet<Guid>();
var testRecords = new List<Test>();
Dies ist, was ich zur Zeit
foreach (var test in testRecords)
{
if (clientResponses.Contains(test.Id))
test.IsResponded = true;
}
Mit "der schnellste Weg" meinst du aus einer Zeit verbrachte Coding Sicht, oder aus einer Anwendungsleistung ein? –
Das scheint mir der beste Ansatz zu sein. Eine bessere Frage wäre, was genau Ihre Leistungsanforderungen sind und ob sie diese erfüllen. Wenn dies der Fall ist, müssen Sie nicht versuchen, es zu optimieren. – juharr
Zuerst können Sie 'test.IsResponded = clientResponses.Contains (test.Id)' schreiben. Abgesehen davon denke ich, dass dies die bestmögliche Lösung ist. – Toxantron