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

C# 如何计算数组中的元素数?,c#,C#,我有这个阵列: var categoryGroups = new[] { new CategoryGroupSource { Id = 1, Name = "Conversation" }, new CategoryGroupSource { Id = 2, Name = "Business" }, new CategoryGroupSource { Id = 3, Name = "Education" } }; 我试着数一数: categoryGroups.Co

我有这个阵列:

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对数组和列表有效吗?

对数组使用
categorygroup.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是否适用于数组和列表

您可能已经使用了

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


当然,
foreach
适用于数组和列表。如果你想看看每个数组和列表的作品

用于计算数组中元素的数目

改变

categoryGroups.Count


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

除此之外,
System.Linq
命名空间为大多数集合实现的
IEnumerable
接口提供了一个
Count()
扩展方法。因此,对于一个数组,如果您使用的是System.Linq,那么您也可以使用
myArray.Count()


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

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


您无法访问
.count
属性,因为它可用于列表类型,但您正在使用数组。

如果您只想让它说出数组中的值的数量,我同意您可以只打印数组的长度值。

使用
长度
,不
Count
答案在谷歌/MSDNPros和Cons上很容易找到,使用数组作为泛型?@Aizen流行问题
categoryGroups.Length