“Premature optimization is the root of all evil.” “Programs must be written for people to read, and only incidentally for machines to execute.” Kilka milisekund zaoszczędzonych na milionie wywołań nie jest warte pisania czegoś takiego.
Testowałeś?
I druga sprawa - moim zdaniem nie ma sensu uczyć początkujących LINQ.
Nie mam zamiaru wdawać się w dysputy ideologiczne, ale jeden post napiszę.
Moja propozycja (podkreślam propozycja) miała na celu zademonstrowanie innego podejścia do danego problemu. Pokazać LINQ ponieważ jest to potężne narzędzie i młodszy kolega, mógł jeszcze tego nie znać, a tak ma szansę zobaczyć i od razu wykorzystać w prostym przykładzie.
Uczyć może nie, ale wspomnieć że coś takiego jest i pokazać pewne zastosowanie, możliwości - dlaczego nie?
Szczerze to Twój post nawet nie ma jak skomentować. Pełen merytorycznych faktów i matematycznych dowodów. Po prostu “Brawo”.
Tak wiem, jedyne słuszne rozwiązanie tego zadania, to takie które zajmuje 20 znaków i wykonuje się w kilku cyklach zegara procesora. Wspomnę jeszcze oczywisty fakt o czytelności kodu, ale tak jak wspomniałem na początku postu, chciałem tylko zainteresować (wskazać) LINQ jako alternatywę.