Esempio n. 1
0
            public int Search(Orbit orbit)
            {
                var   orbitsSearched = 0;
                Orbit nextOrbit      = this;

                do
                {
                    var lastOrbit = nextOrbit;
                    nextOrbit = nextOrbit.Next.FirstOrDefault(x => x.IsLinked(orbit)) ?? nextOrbit.Previous;
                    if (!lastOrbit.Equals(this) && !nextOrbit.Equals(orbit))
                    {
                        orbitsSearched++;
                    }
                }while (!nextOrbit.Equals(orbit));

                return(orbitsSearched);
            }
Esempio n. 2
0
 public bool IsLinked(Orbit orbit)
 {
     return(orbit.Equals(this) || _next.Any(x => x.IsLinked(orbit)));
 }