public void GetBestRoute(string source, string target) { var possibleRoute = new PossibleRoute { CurrentTarget = target, Source = source }; GetPossibleRoutes(ref possibleRoute, source, target); BestRoute = PossibleRoutes.FirstOrDefault(x => x.Value == PossibleRoutes.Select(route => route.Value).Min()); }