对于多维数组,Array.CreateInstance可用于创建基于非零索引的数组,但如果您尝试使用1维数组(向量),例如:
public double[] myArray = (double[])Array.CreateInstance(typeof(double), new int[1] { 12 }, new int[1] { 1 });
Run Code Online (Sandbox Code Playgroud)
当从多维数组转换为单维数组失败时,这将在运行时失败
"Unable to cast object of type 'System.Double[*]' to type 'System.Double[]'"
Run Code Online (Sandbox Code Playgroud)
现在我可以创建一个基于零的数组并忽略第一个值,或者使用偏移等,但我是否忽略了一些允许基于非零的向量的c#语法魔法?
更新:
我要埃里克利珀如果他说的话吧' 有做一个非零基于C#阵列没有明显的方式 ’