Tag: jagged arrays

从锯齿状数组初始化中省略c#new

来自: http : //msdn.microsoft.com/en-us/library/2s05feca.aspx 请注意,您不能从元素初始化中省略new运算符,因为元素没有默认初始化: int[][] jaggedArray3 = { new int[] {1,3,5,7,9}, new int[] {0,2,4,6}, new int[] {11,22} }; 这是什么意思? 为什么可以省略新的: int[] arrSimp = { 1, 2, 3 }; int[,] arrMult = { { 1, 1 }, { 2, 2 }, { 3, 3 } }; 但不可能: int[][,] arrJagg = {new int[,] { { 1, […]

将锯齿状数组直接转换为2D数组而不迭代每个项目?

我正在尝试将DataTable保存到Excel工作表中..我的代码是这样的.. Excel.Range range = xlWorkSheet.get_Range(“A2”); range = range.get_Resize(dtExcel.Rows.Count, dtExcel.Columns.Count); object[,] rng1 = new object[dtExcel.Rows.Count, dtExcel.Columns.Count]; Excel范围需要范围值作为数组[,]但我将DataTable作为锯齿数组[] []。 object[][] rng2 = dtExcel.AsEnumerable().Select(x => x.ItemArray).ToArray(); 是否有任何内置函数可以将锯齿状数组[] []直接转换为2D数组[] []? 通过Excel迭代,DataTable和分配对于批量数据来说似乎更慢。 此外,我不想设置使用DSN查询excel ..我选择了excel存储以避免配置任何数据库..:PI在此处找到了将数据写入excel的方法的详细说明.. http:// support。 microsoft.com/kb/306023

将不同类型的数组存储到锯齿状数组中

存储在锯齿状数组中的数组是否需要具有相同的类型? 例如,我可以在一个锯齿状数组中存储一个int数组和一个字符串数组?

大型多维数组(Jagged Array)C#的解决方法?

我正在尝试初始化三维数组以加载体素世界。 地图的总大小应为( 2048/1024/2048 )。 我试图初始化一个“int”的锯齿状数组 ,但我抛出了一个内存exception。 尺寸限制是多少? 我桌子的大小:2048 * 1024 * 2048 = 4’191’893’824 有人知道解决这个问题吗? // System.OutOfMemoryException here ! int[][][] matrice = CreateJaggedArray(2048,1024,2048); // if i try normal Initialization I also throws the exception int[, ,] matrice = new int[2048,1024,2048]; static T CreateJaggedArray(params int[] lengths) { return (T)InitializeJaggedArray(typeof(T).GetElementType(), 0, lengths); } static object InitializeJaggedArray(Type type, […]

将锯齿状数组转换为2D数组C#

我正在尝试将此函数从Jagged Array转换为2D数组,而我无法转换所有内容原始函数: public static double[][] InvertMatrix(double[][] A) { int n = A.Length; //e will represent each column in the identity matrix double[] e; //x will hold the inverse matrix to be returned double[][] x = new double[n][]; for (int i = 0; i < n; i++) { x[i] = new double[A[i].Length]; } /* * solve […]

arrays数组

如何在C#中创建数组? 我已经阅读过有关创建锯齿状数组的内容,但我不确定这是不是最好的方法。 我想要实现这样的目标: string[] myArray = {string[] myArray2, string[] myArray3} 然后我可以像myArray.myArray2[0];那样访问它myArray.myArray2[0]; 我知道代码不起作用,只是作为一个例子来解释我的意思。 谢谢。

将数据从CSV读取到数组数组(C#)

我打开了CSV文件,但我无法弄清楚如何将结果数组拆分为另一个数组。 我目前有以下代码,希望它更能让我了解我的意思: private void ReadFileToArray(StreamReader file) { int i = 0; string[][] FP_GamesArray; while (!file.EndOfStream) { string line = file.ReadLine(); if (!String.IsNullOrWhiteSpace(line)) { string[] values = line.Split(‘,’); MessageBox.Show(values.ToString()); FP_GamesArray[i] = values; } i++; } } 有任何想法吗? 我得到两个错误:一个说Cannot implicitly convert type ‘string[]’ to ‘string’ ,第二个说Use of unassigned local variable ‘FP_GamesArray’ 。

修复了带锯齿数组的语句

我有锯齿状的数组,我需要传递给外部方法。 [DllImport(…)] private static extern int NativeMethod(IntPtr[] ptrArray); … fixed (ulong* ptr = array[0]) { for (int i = 0; i < array.Length; i++) { fixed (ulong* p = &array[i][0]) { ptrArray[i] = new IntPtr(p); } } NativeMethod(ptrArray); } 问题是ptr未使用,因编译而被删除。 根据它的固定声明也被删除。 所以数组被GC移动,使得ptrArray元素变为无效。 将锯齿状数组作为指向本机方法的指针的一维数组传递的最佳方法是什么? 更新: 这是NativeMethod的C ++代码: NativeClass::NativeMethod(const int* array)

将C#Jagged数据编组到C ++

我正在尝试将2D C#锯齿状数组( double[][] jaggedArray ) double[][] jaggedArray到C ++ dll中,我已将接收变量指定为double** 。 但是,我收到的消息是: 嵌套数组没有编组支持。 如果没有扁平化锯齿状arrays,有没有办法在C ++ dll中使用C#中的锯齿状数组?

将T 转换为T 的最快方法?

事实certificate,所有数组都不是相同的。 多维数组可以具有非零下限。 例如,参见Excel PIA的Range.Value属性object[,] rectData = myRange.Value; 我需要将这些数据转换为锯齿状数组。 我第一次尝试下面的复杂气味。 有什么建议可以优化吗? 它需要处理下限可能不为零的一般情况。 我有这个ex方法: public static T[][] AsJagged( this T[,] rect ) { int row1 = rect.GetLowerBound(0); int rowN = rect.GetUpperBound(0); int col1 = rect.GetLowerBound(1); int colN = rect.GetUpperBound(1); int height = rowN – row1 + 1; int width = colN – col1 + 1; T[][] jagged […]