Es hat eine Eigenschaft: Zeichenfolge Code und 10 andere.So optimieren Sie diesen Code
common codes ist eine Liste von Zeichenfolgen (string []) Autos eine Liste von Autos (Car []) filteredListOfCars ist List.
for (int index = 0; index < cars.Length; index++)
{
Car car = cars[index];
if (commonCodes.Contains(car.Code))
{
filteredListOfCars.Add(car);
}
}
Leider ist dieses Stück Methode zu lang.
Ich habe über 50k Aufzeichnungen
Wie kann ich die Ausführungszeit senken ??
Die Linq Join-Methode führt die Lookup-Logik für Sie, so dass Sie nicht müssen Spezifiziere das HashSet. cars.Join (commonCodes, auto => auto.Code, code => code, (auto, code) => auto) – DRBlaise
@DRBlaise: Es ist wahr, dass 'Join' eine Hash-Tabelle verwendet, aber es ist auch ein Implementierungsdetail und es ist riskant, sich auf solche Dinge zu verlassen, die sich ändern können (selbst wenn Veränderungen unwahrscheinlich sind). Wenn Sie ein bestimmtes Leistungsniveau garantieren möchten, sollten Sie die Semantik explizit angeben. – Aaronaught
Warum int? neuer Hash ist nicht korrekt ?? –
user278618