0

リスト項目の数を返す DynamicNodeList のプロパティまたは関数はありますか。

これは私のコードです:

var root = Model.NodeById(id);
var nodes = root.Descendants("ChartItem");

if (nodes.GetLength() > 0)
{
   s = s + "<ul>";
}

しかし、GetLengthは有効な関数ではありません。私は何をすべきか?

4

3 に答える 3

4

Count() と呼ばれる IEnumerable 型の組み込み拡張メソッドがあり、それはまさにそれを行い、アイテムをカウントします:)

以下のコードを参照してください。

var root = Model.NodeById(id);
var nodes = root.Descendants("ChartItem");

if (nodes.Count() > 0)
{
    s = s + "<ul>";
}
于 2012-06-05T08:32:18.743 に答える
1

このコードを試してください:

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>";
}
于 2012-06-05T08:29:15.253 に答える
1

ここ見て

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

私は試してみます(nullチェックが必要かどうか、またはDescendants()が少なくとも空のリストを返すかどうかはわかりません)

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

また

nodes != null && nodes.Any()
于 2012-06-05T08:30:50.157 に答える