Standing on the shoulders of giants just like Eric Lippert, this is my try to create a running sample of the code he has presented in his magnific series of posts titled Path Finding Using A* in C# 3.0. Eric wrote the base structure of the A* pathfinding algorithm but didn’t provide a complete running sample. I basically added some code I had already posted on the series of posts titled Breadth and depth first search and created some properties here and there to get the whole thing running. It’s nothing more than code reuse. In this implementation you'll find interesting data structures as a priority queue and and immutable stack.