代码之家  ›  专栏  ›  技术社区  ›  juan

在C中的任意起始索引上初始化数组#

  •  6
  • juan  · 技术社区  · 16 年前

    在C中是否可以初始化子索引1中的数组?

    我使用的是Office Interop,每个属性都是从1开始的对象数组(我假设它最初是在vb.net中编程的),您不能修改它,必须设置整个数组才能接受更改。

    作为解决方法,我要克隆原始数组,修改它,并在完成后将其作为一个整体进行设置。

    但是,我想知道是否可以创建一个新的非零基数组

    8 回复  |  直到 16 年前
        2
  •  18
  •   juan    16 年前

    // Construct an array containing ints that has a length of 10 and a lower bound of 1
    Array lowerBoundArray = Array.CreateInstance(typeof(int), new int[1] { 10 }, new int[1] { 1 });
    
    // insert 1 into position 1
    lowerBoundArray.SetValue(1, 1);
    
    //insert 2 into position 2
    lowerBoundArray.SetValue(2, 2);
    
    // IndexOutOfRangeException the lower bound of the array 
    // is 1 and we are attempting to write into 0
    lowerBoundArray.SetValue(1, 0);
    
        3
  •  1
  •   Aaron    16 年前

        4
  •  0
  •   T. Stone    16 年前

        5
  •  0
  •   Adam Vigh    16 年前

        6
  •  0
  •   Joel Coehoorn    16 年前

        7
  •  0
  •   xan    16 年前

    here

    myArrayObject[1]; //would return the zeroth element.
    
        8
  •  -1
  •   Patrick Desjardins    16 年前