コード例 #1
0
        private static string[] GetDependencyBranch(Dependency dependency, Dependency[] parsedDependencies)
        {
            var branch = new List<string> { dependency.SecondTask };

            var nextDependency = parsedDependencies.SingleOrDefault(d => d.SecondTask == dependency.FirstTask);
            var dependencyCount = 0;
            while (nextDependency != null && dependencyCount < parsedDependencies.Count())
            {
                var currDependency = nextDependency;
                branch.Add(currDependency.SecondTask);
                nextDependency = parsedDependencies.SingleOrDefault(d => d.SecondTask == currDependency.FirstTask);
                dependencyCount++;
            }

            return branch.ToArray();
        }