This code:
int[] myArr = { 1, 2 };
myArr.Add(3);
throws the following error on Build:
error CS1061: 'System.Array' does not contain a definition for 'Add' and no extension method 'Add' accepting a first argument of type 'System.Array' could be found (are you missing a using directive or an assembly reference?)
IList
interface has the Add()
method, but why the Array does not implement it?
UPDATE: I see from the answers that it DOES implement it explicitly, OK, I get it, thank you, I should better stick to the question:
Why Array
does not actually provide Add()
, OR, better, why did it have to implement IList
in the first place? Instead of implementing IList
, it could be another interface (e.g. IArray
) which could have ONLY the useful for Array members of IList
-e.g. IsFixedSize
, IsReadOnly
, IndexOf()
... just a thought.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…