C# GetRange(0,54).ToString()正在返回;System.Collections.ArrayList+;“范围”;
54应该不重要 在执行C# GetRange(0,54).ToString()正在返回;System.Collections.ArrayList+;“范围”;,c#,arraylist,C#,Arraylist,54应该不重要 在执行arrayList.AddRange(返回值) 其中byte[]返回\u值=(byte[])这个.in\u buffer.ToArray(typeof(byte))(而in\u buffer是typeArrayList也填充了AddRange(byte[]bytes)) 为什么??我没有写typeof(byte)部分。我打算现在就去读一读。我需要使用类似的东西吗?写这篇文章时,我想到了这种可能性。System.Object上的ToString方法默认返回类型的名称,因此不会
arrayList.AddRange(返回值)
其中byte[]返回\u值=(byte[])这个.in\u buffer.ToArray(typeof(byte))
(而in\u buffer
是typeArrayList
也填充了AddRange(byte[]bytes)
)
为什么??我没有写
typeof(byte)
部分。我打算现在就去读一读。我需要使用类似的东西吗?写这篇文章时,我想到了这种可能性。System.Object上的ToString方法默认返回类型的名称,因此不会返回数组的值,我猜您正在寻找它。ArrayList。GetRange
是通过返回名为Range
的ArrayList的子类来实现的,它实际上嵌套在ArrayList
中,仅此而已ToString
只是显示该类型的名称
您期望的是什么?System.Collections.ArrayList包含一个名为Range的嵌套类,该类派生自ArrayList。这是GetRange返回的类型,但它作为ArrayList公开。返回字符串的+
部分表示嵌套类型。使用.ToString()时,您希望看到什么?.ToString()的默认实现显示对象的类型。在本例中,它显示的事实是对象的类型为ArrayList.Range。此外,除非您一直在使用.NET 1.1,否则根本不应该使用ArrayList。如果您需要可以包含任何对象的集合,请使用List
,否则请使用List
,其中T
是集合中对象的类型。如果您只是将其作为一个代码块写出,您的示例将更容易理解;我需要手动操作吗?