2010-12-02 39 views
0

54應該是不重要的。ArrayList.GetRange(0,54).ToString()返回「System.Collections.ArrayList + Range」

ArrayList的是時填寫的ArrayList.AddRange(return_value) 其中byte[] return_value = (byte[])this.in_buffer.ToArray(typeof(byte))(和in_buffer是類型ArrayList也充滿了AddRange(byte[] bytes)

爲什麼?我沒有寫typeof(byte)部分。我打算現在去閱讀它。我需要使用類似的東西嗎?在寫這篇文章時,這種可能性發生在我身上。

+0

當你使用.ToString()時你期望看到什麼? .ToString()的默認實現顯示對象的類型。在這種情況下,它顯示對象是ArrayList.Range類型的事實。 – 2010-12-02 22:15:47

+2

另外,除非你使用.NET 1.1,否則根本不應該使用ArrayList。如果你需要一個可以包含任何對象的集合,使用`List `,否則使用`List `,其中`T`是將在集合中的對象的類型。 – 2010-12-02 22:16:30

回答

0

ArrayList.GetRange通過返回ArrayList的一個子類實現,該子類名爲Range,它實際上嵌套在ArrayList之內,就是這樣。 ToString只顯示該類型的名稱。

你在期待什麼?

1

System.Object上的ToString方法默認返回該類型的名稱,所以數組的值不會返回,我猜你正在尋找。

0

System.Collections.ArrayList包含一個名爲Range的嵌套類,它從ArrayList派生。這是GetRange返回的類型,但它作爲ArrayList公開。返回字符串的+部分表示嵌套類型。

相關問題