我有这个数组:
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是否适用于数组和列表?
答案 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是否适用于数组和列表?
是
答案 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)
我同意,如果您只是想要说明数组中的值,您可以只打印数组的长度值。