请问:c#中数组相关问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 14:04:37
private double[] a;
public double[] A
{get
{return a;
}
}
这是返回整个数组a?还是a的某一项?
private ArrayList arrayP;
public Array ArrayP
{
get
{
return arrayP.ToArray();
}
}
这样的数组方法与以上有什么不同?arrayP.ToArray(); 是什么意思?

第一个问题,返回的是double类型的数组a,A是数组a的属性。
第二个问题,ToArray()方法是将arrayP中的元素复制到一个object类型的数组中,区别是返回的数组不带类型信息,如果要返回相应类型的数组需要用到ToArray()方法的参数type,
例如返回一个double类型的数组的代码是
return (double[])arrayP.ToArray(typeof(double));

第一个应该是 返回a的 一个 元素。
至于两种数组的 不同 ,c#中不支持动态数组,如果需要的动态数组就只能用 ArrayList来实现了。
我也是刚学,正对这东西郁闷,有空多聊聊。

第一个A属性,是返回一个double类型的数组,也就是你的a数组

第二个····也是返回数组····
将ArrayList的对象转换为Array返回

将 ArrayList 的元素复制到新 Object 数组中。
http://msdn.microsoft.com/zh-cn/learning/system.collections.arraylist.toarray(VS.80).aspx
请看参考
但是返回的是Object 数组
可能会涉及装箱和拆箱
效率啊···低····