【发布时间】:2012-07-10 00:23:34
【问题描述】:
我正在编写一些 C#(.NET) 来使用 Umbraco 4.7 将文章导入博客。简而言之,该算法旨在循环遍历每一篇现有文章,并检查它是否与我们试图从 XML 中提取的新文章具有相同的 ID。该算法运行良好,但我不禁认为有四个 foreach 循环对于我正在做的事情来说效率非常低。
foreach (Document yearNode in node.Children) //News > Years
{
foreach (Document monthNode in yearNode.Children) //Years > Months
{
foreach (Document dayNode in monthNode.Children) //Months > Days
{
foreach (Document newsItem in dayNode.Children) //Days > Articles
{
// If there isn't an ID match, go ahead and create a new article node.
}
这是没有主要功能的基本算法,只是 foreach 循环。它比简单地循环浏览日历日期要复杂一些,因为它更多的是包含特定节点的文件夹结构。任何人都可以提出一种简化这一点的方法吗?
【问题讨论】:
-
Document类型是否高于 Umbraco 特定类型? -
是的,是的。业务逻辑的一部分,link
-
有没有机会建立文档文件夹结构的缓存,并在缓存中执行快速查找?
-
如何检索根节点 (
node)?也许您可以通过他们的DocumentType查询叶节点? -
谢谢你,@MarkusJarderot,但你能解释一下你的意思吗?第一次用 Umbraco 和 C#,感觉一切都是一个节点!
标签: c# algorithm foreach umbraco