【问题标题】:different ways to get TreeNode Count获取 TreeNode Count 的不同方法
【发布时间】:2018-06-20 10:01:04
【问题描述】:

在 C# 中有不同的方法来获取父节点的 TreeNodes 计数:

    int numberOfNodes = node.Nodes.OfType<TreeNode>().Count();
    int numberOfNodes = node.Nodes.Count;

我知道 count 是指 List 的一个属性,而 Count() 是 IEnumerable(由 TypeOf 给出)上的一种方法,用于获取其计数。我的问题是,是否有任何差异。 TreeNode 的所有节点不总是 TreeNode 类型吗?是否建议在某些情况下使用一个而不是另一个,或者是第一个选项只是一些对其他场景有用并且也适用于节点计数问题的可能性。 我问的原因是因为我在阅读的代码中都看到了,但不知道什么更好。

编辑: 我说的是 Windows 窗体中的 TreeNode: https://msdn.microsoft.com/de-de/library/system.windows.forms.treenode(v=vs.110).aspx

【问题讨论】:

    标签: c# winforms count treeview


    【解决方案1】:
    int numberOfNodes = node.Nodes.OfType<TreeNode>().Count();
    int numberOfNodes = node.Nodes.Count;
    

    在这两个选项中,第二个更快 - 因为它不涉及涉及 LINQ 的开销。

    还可以考虑使用GetNodeCount 作为替代方案,特别是如果您对整个子树的计数感兴趣。

    【讨论】:

      猜你喜欢
      • 2011-05-11
      • 2012-06-25
      • 1970-01-01
      • 2014-08-20
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 1970-01-01
      • 2012-06-21
      相关资源
      最近更新 更多