• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ

【疑惑】数组问题的咨询

xupeihuagudulei6 2010-05-31 09:43:21
int[] intTest = new int [] {1,3,4,5};
string [] strTest = new string[] {"str1","str2","str3","str4"};

arraylist arr = new arraylist();
arr.add(intTest);
arr.add(strTest);

此时arr.count应该是2没错吧?可是为什么不应该是8?两个数组元素想加起来的个数?

arr.toarray()这个方法用的时候。当不知道arr里面的数组是什么类型的时候,如何把它转换成array?

arr[0]---->当这个又不清楚为何类型的数组时。又如何把它赋值给数组呢?
...全文
55 点赞 收藏 12
写回复
12 条回复
supelves 2010年05月31日
[Quote=引用 11 楼 xupeihuagudulei 的回复:]
引用 9 楼 supelves 的回复:

引用 6 楼 xupeihuagudulei 的回复:
引用 3 楼 supelves 的回复:
囧!arr.ToArray()转成System.Object数组有问题吗?
如果你知道数据类型当然可以调用arr.ToArray(Type type);
问题是arraylist里面存储的数组的类型有非常多种类。
就算全部转换成obejct[]……
[/Quote]

你自己都不知道数据类型要它何用!你给我举个例子!
回复 点赞
xupeihuagudulei 2010年05月31日
[Quote=引用 9 楼 supelves 的回复:]

引用 6 楼 xupeihuagudulei 的回复:
引用 3 楼 supelves 的回复:
囧!arr.ToArray()转成System.Object数组有问题吗?
如果你知道数据类型当然可以调用arr.ToArray(Type type);
问题是arraylist里面存储的数组的类型有非常多种类。
就算全部转换成obejct[]之后。那总得再转换成原有数组的类型。
这点咋……
[/Quote]要是完全不知道arraylist里面数组的类型。这怎么转换?
回复 点赞
andyking_ 2010年05月31日
我相信他不会把分给我 哈哈
回复 点赞
supelves 2010年05月31日
[Quote=引用 6 楼 xupeihuagudulei 的回复:]
引用 3 楼 supelves 的回复:
囧!arr.ToArray()转成System.Object数组有问题吗?
如果你知道数据类型当然可以调用arr.ToArray(Type type);
问题是arraylist里面存储的数组的类型有非常多种类。
就算全部转换成obejct[]之后。那总得再转换成原有数组的类型。
这点咋整?
[/Quote]

转换原有的数据类型你自己转呗,你还想自动转啊自动转你就自己写个方法把
Type t = arr[0].GetType();
if (t.Equals(typeof(int[])))
{
Console.Write("");
}
回复 点赞
xupeihuagudulei 2010年05月31日
不是我要把它理解成8.
而是我调试的时候arraylist里面只有一个数组,数组的长度为8.我调用arraylist.count的时候它显示的就是8,所以我就纳闷了
回复 点赞
tkscascor 2010年05月31日
int[] intTest = new int [] {1,3,4,5};
string [] strTest = new string[] {"str1","str2","str3","str4"};

arraylist arr = new arraylist();
arr.add(intTest);
arr.add(strTest);
arr.count是2

arraylist arr = new arraylist();
arr.addrange(intTest);
arr.addrange(strTest);
arr.count 就是8
回复 点赞
xupeihuagudulei 2010年05月31日
[Quote=引用 3 楼 supelves 的回复:]
囧!arr.ToArray()转成System.Object数组有问题吗?
如果你知道数据类型当然可以调用arr.ToArray(Type type);
[/Quote]问题是arraylist里面存储的数组的类型有非常多种类。
就算全部转换成obejct[]之后。那总得再转换成原有数组的类型。
这点咋整?
回复 点赞
wosizy 2010年05月31日
LZ 怎么理解它是8的? 我不明白
拿forche 循环下
关键字打错了
你循环下 跟踪循环 就能看出来..
回复 点赞
hxbr110 2010年05月31日
一楼的和楼主是亲戚????咋长这么像勒。。。
回复 点赞
supelves 2010年05月31日

囧!arr.ToArray()转成System.Object数组有问题吗?
如果你知道数据类型当然可以调用arr.ToArray(Type type);
回复 点赞
兔子党-督察 2010年05月31日
arr.count 不可能是8

把它看成多维数组的 来理解
回复 点赞
xupeihuagudulei 2010年05月31日
arraylist里面存储的数组要是是不同类型的,如何使用toarray这个方法?
回复 点赞
发动态
发帖子
.NET技术社区
创建于2007-09-28

4.9w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告