2010-10-06 109 views
0

我對C#中的數組感到困惑。int []類型和文檔

我無法在MSDN上找到任何關於例如對象double []的文檔。 我確實找到了關於int,數組,集合的文檔,但找不到double []是什麼類型。如果我做double [] a = new double [10]; a.GetType(),我發現a的類型是System.Double []

我相信該類型不是System.Double [],但必須是系統中對象或接口的一些後代。集合名稱空間或System.Collections.Generic名稱空間。我最好的猜測是double []是一種實現了System.Collections.IList接口的類型,但我不確定。

那麼,任何人都可以解釋一下什麼樣的對象的雙打數組(真的是一個對象double [])?它是什麼基類,它實現了哪些接口,... 我在哪裏可以找到定義爲int [],...,object []的對象數組的文檔?

謝謝!

回答

0

數組是所有類型的數組的基類int,double,string無論System.Array的基類是System.Object。所以正確的類型是System.Double []。它實現了ICloneable,IList,ICollection,IEnumerable,IStructuralComparable,IStructuralEquatable接口,如msdn上所述。 數組和集合之間的主要區別是數組在運行時無法在大小上進行更改,並且數組必須包含與集合相對的相同類型的對象。

+0

非常感謝!爲什麼我不能在自定義類中實現System.Array?或者更好,他們爲什麼不讓我這樣做? – Wice 2010-10-06 15:13:18

+0

不知道你實施系統是什麼意思。在自定義類中的數組。我認爲你會想用它作爲基類並從中派生出來。這是不可能的,因爲在框架中有一些類不打算實例化,因此被標記爲靜態。在這些類中有Math,ThreadPool和Array.If你想添加額外的功能到Array類嘗試使用擴展方法。 – Elena 2010-10-06 19:57:23