【发布时间】:2012-01-30 22:52:29
【问题描述】:
我有以下课程:
public class Category {
public string Name { get; set; }
public Category Parent { get; set; }
public string Url { get; set; }
public List<Category> Children { get; set; }
}
现在给出一个类别和 url 的实例。我希望获取 url 与该类别或其任何子项(或其子项等)匹配的类别。
因此我的函数将具有以下签名:
public Category FindCategory(Category category, string url);
我知道递归是要走的路,我已经设法想出了一个解决方案。但是我确实看到它做得更好,但我找不到在哪里。如果有人能告诉我实现这一目标的最简单和最干净的方法,我将不胜感激。
谢谢
【问题讨论】:
-
您是从 SQL 中获取数据吗?
-
我不明白您的匹配条件。给定一个类别 C1 和一个 URL U,您是否正在寻找另一个类别 C2,其中 C2.url == U?
-
“我希望获取 url 与类别或其任何子项(或其子项等)匹配的类别” - 如果这是您想要的,那么您的结果应该是布尔值,因为结果总是你给它的实例,或者为空。还是您的意思是说您希望获取其 url 与给定 url 匹配的类别?