Possible Duplicate:
count vs length vs size in a collection
Really strange:
C# arrays such as the following
double[] test = new double[1];
support the Length property to get the size of the array. But arrays also implement an IList interface:
IList<double> list = test;
However, the IList interface provides also a Count property. How come the array ("test" in this case) doesn't?
Edit: Thanks to all of you who pointed out that it is in fact the ICollection interface (not IList) which provides the Count property, and also that this is due to explicit implementation of the interface.
Simply, they chose to call it Length
, and implement Count
via explicit interface implementation -something like:
int ICollection.Count { get { return Length; } }
It was a design choice about Naming, not semantics.
Arrays have a Length property, as does the String.
Length signals immutable: You cannot Add to or Remove from an array.
Lists and other containers have a Count property that can usually change.
Oh, and if you call list.Append(1.1);
you will get a not supported exception.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With