private IEnumerable<string> SplitPath(string url) { var index = Int32.MaxValue; var sub = url; while (index >= 0) { yield return sub; index = sub.Substring(0, sub.Length - 1).LastIndexOf('/'); sub = sub.Substring(0, index + 1); } }