如何计算数组中的元素数?

时间:2016-12-07 04:52:09

标签: c#

我有这个数组:

var categoryGroups = new[] {
    new CategoryGroupSource { Id = 1,  Name = "Conversation" },
    new CategoryGroupSource { Id = 2,  Name = "Business" },
    new CategoryGroupSource { Id = 3,  Name = "Education" }
};

我试着指望这个:

categoryGroups.Count

但它给了我一个错误,说这只适用于列表。有人能就此提出建议吗?

注意我也这样做:

foreach (CategoryGroupSource categoryGroup in categoryGroups)
{
    db.Insert(categoryGroup);
}

foreach是否适用于数组和列表?

6 个答案:

答案 0 :(得分:4)

使用categoryGroups.Length作为数组

var categoryGroups = new[] {
            new CategoryGroupSource { Id = 1,  Name = "Conversation" },
            new CategoryGroupSource { Id = 2,  Name = "Business" },
            new CategoryGroupSource { Id = 3,  Name = "Education" }
        };

int count = categoryGroups.Length;
  

foreach是否适用于数组和列表?

Using foreach with Arrays (C# Programming Guide)

答案 1 :(得分:1)

您可能已经使用过

categoryGroups.Length

每个数组都有一个长度。在C#语言中,我们访问非null数组的Length属性。长度没有括号,因为它是属性。它是只读的 - 你不能指定长度。

当然foreach适用于数组和列表。如果你想看到Why List is better than Arrays you can read more here

答案 2 :(得分:1)

foreach数组和列表的工作

用于计算数组中的元素数

变化

categoryGroups.Count

categoryGroups.Length

答案 3 :(得分:0)

在.NET中,数组和字符串(技术上是特殊的字符数组)具有Length属性,并且几乎所有其他集合都具有此计数元素的Count属性。

除此之外,System.Linq命名空间为Count()接口提供IEnumerable<T>扩展方法,大多数集合都实现该方法。因此,对于数组,如果您是myArray.Count(),也可以使用using System.Linq;

请注意,Count()是数组和实现IEnumerable<T>的任何集合的方法,而Count是某些集合的属性。

答案 4 :(得分:0)

foreach适用于实现IEnumerable的所有类型。

您无法访问.count属性,因为它可用于List类型,但您使用的是Array。

答案 5 :(得分:0)

我同意,如果您只是想要说明数组中的值,您可以只打印数组的长度值。