为什么C#队列或列表只有count但数组有长度?
发布时间:2020-12-15 22:27:36 所属栏目:百科 来源:网络整理
导读:参见英文答案 count vs length vs size in a collection????????????????????????????????????9个 ???????????? .net array – difference between “Length”,“Count()” and “Rank”????????????????????????????????????6个 这可能是一个愚蠢的问题,为
参见英文答案 >
count vs length vs size in a collection????????????????????????????????????9个
>???????????? .net array – difference between “Length”,“Count()” and “Rank”????????????????????????????????????6个 这可能是一个愚蠢的问题,为什么队列或列表没有Length属性,但只有Count?同样为什么数组有Length属性? 谢谢 解决方法
数组是固定的大小,它们总是通过预先定义大小来初始化.
.Length在这里有意义,因为它已修复,没有任何操作可以知道这一点(不计算在内) 另一方面,Versus .Count意味着大小是动态的,并且涉及(计数)操作以了解大小
这确实是一个很好的问题,答案的一部分是上面的不同,但它也受到框架设计本身的影响 在框架设计中,Collection是Enumerable,任何Enumerable都有一个Enumerator 列表或集合的计数通过获取集合的枚举器,然后在递增计数器时迭代项目来工作 以下是System.Linq扩展中的.Count()方法的实现 public static int Count<TSource>(this IEnumerable<TSource> source) { if (source == null) { throw Error.ArgumentNull("source"); } ICollection<TSource> is2 = source as ICollection<TSource>; if (is2 != null) { return is2.Count; } int num = 0; using (IEnumerator<TSource> enumerator = source.GetEnumerator()) { while (enumerator.MoveNext()) { num++; } } return num; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |