如何在动态节点列表中查找项数

本文关键字:查找 列表 节点 动态 | 更新日期: 2023-09-27 18:36:14

是否有任何返回列表项数的动态节点列表属性或函数。

这是我的代码:

var root = Model.NodeById(id);
var nodes = root.Descendants("ChartItem");
if (nodes.GetLength() > 0)
{
   s = s + "<ul>";
}

但是 GetLength 不是一个有效的函数。 我该怎么办?

如何在动态节点列表中查找项数

IEnumerable 类型有一个内置的扩展方法,称为 Count(),它就是这样做的,它计算项目:)

请参阅下面的代码:

var root = Model.NodeById(id);
var nodes = root.Descendants("ChartItem");
if (nodes.Count() > 0)
{
    s = s + "<ul>";
}

看这里

http://umbraco.com/follow-us/blog-archive/2011/12/22/umbraco-5-rc1-is-out-today.aspx

我会尝试(不确定是否需要空检查,或者 Descendants() 是否至少返回一个空列表)

nodes != null && nodes.Count() >0

nodes != null && nodes.Any()

试试这段代码:

var root = Model.NodeById(id);
var nodes = root.Descendants("ChartItem");
int nodesCount = 0;
foreach (var node in nodes)
{
    nodesCount += 1;
}
if (nodesCount > 0)
{
    s = s + "<ul>";
}