多个不定长的数组合计总长度已知,如何将这多个不定长的数组合并成一个数组,数组类型相同,为一维数组。要效率高,操作方便点
解决方案 »
- 执行jquery的animate,然后恢复到执行前的状态
- web调用OCX控件的初始化方法,需要父窗口句柄?
- C#中为啥Controls 线程 进程都属于机器代码?还有什么叫保护形式的内存?内详
- datagridview输入数字和一个小数点???
- .net 2005安装后怎么不见有sample呢???????????????????
- 谁有winform的IP地址验证控件可供参考?
- dataset中 不能找到 table(0)
- 问一个取整的函数,
- 转换时间格式的问题。
- 光标定位!!! 求大神指教
- sp3 系统 与 VS2008 不兼容吗?
- c# 文件下载相关的疑问(Socket ,Http ,ftp的区别)
static void Main(string[] args)
{
int[] arr1 = { 1, 2, 3, 4 };
int[] arr2 = { 2, 3, 45, 6, 7 };
int[] arr3 = { 4, 5, 6, 7, 8 };
int[] result = CompoundArray(arr1, arr2, arr3);
foreach (int i in result)
Console.WriteLine(i);
}
public static int[] CompoundArray(params int[][] arrays)
{
List<int> list = new List<int>();
foreach (int[] arr in arrays)
list.AddRange(arr);
return list.ToArray();
}
不过,如果是引用类型就会好很多。
可以先定义一个结果数组
MyClass part1 = ****;
MyClass part2 = ****;
MyClass[] res = new MyClass[totalSize];
int destIndex = 0;
Array.Copy(part1, 0, res, destIndex, part1.Length);
destIndex += part1.Length;
Array.Copy(part2, 0, res, destIndex, part2.Length);注意,没有经过调试,可能有小问题
支持1楼,这是最快的做法反对4楼,这是很浪费的做法,另外:就算用Stack<T>都比List<T>效率高!