Rsdn.LocUtil.Model.RootCategory.FindCategory C# (CSharp) Method

FindCategory() private method

private FindCategory ( Category startCategory, string parts ) : Category
startCategory Category
parts string
return Category
		private Category FindCategory(Category startCategory, string[] parts)
		{
			if (parts.Length == 0)
				return startCategory;
			Category ic = null;
			foreach (Category c in startCategory.Categories)
				if (c.ShortName == parts[0])
				{
					ic = c;
					break;
				}
			if (ic == null)
			{
				string prefix = startCategory.Name != null ? startCategory.Name + '.' : "";
				ic = new Category(prefix + parts[0], startCategory);
				startCategory.Categories.Add(ic);
			}
			string[] sa = new string[parts.Length - 1];
			Array.Copy(parts, 1, sa, 0, sa.Length);
			return FindCategory(ic, sa);
		}