Ich Refactoring diesen Code und versuchte zu denken, eine einfache linq Ausdruck dieses Wörterbuch zu füllen.Hilfe Linqify Sammlung zu Dictionary
IEnumerable<IHeaderRecord> headers = PopulateHeaders();
var headerLocationLookup = new Dictionary<string, IHeaderRecord>();
foreach (var header in headers)
{
//destination locations can repeat, if they do, dictionary should only contain the first header associated with a particular location
if (!headerLocationLookup.ContainsKey(header.DestinationLocation))
{
headerLocationLookup[header.DestinationLocation] = header;
}
}
Ich konnte nur mit der Implementierung eines benutzerdefinierten IEqualityComparer kommen und die Verwendung dieser in einem Ausdruck wie dieser ...
headers.Distinct(new CustomComparer()).ToDictionary();
Gibt es einen Weg, um alles Inline ohne den benutzerdefinierten IEqualityComparer zu tun? Danke im Voraus.
Gute Antwort. Ich denke, Sie haben Recht, dass der aktuelle Code klarer ist. –