如何在C#中创建索引为1的一维数组

前端之家收集整理的这篇文章主要介绍了如何在C#中创建索引为1的一维数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于多维数组,Array.CreateInstance可以用于创建非零索引的数组,但是如果您尝试使用一维数组(向量),例如:
public double[] myArray = (double[])Array.CreateInstance(typeof(double),new int[1] { 12 },new int[1] { 1 });

当从多维数组到单维阵列的转换失败时,这将在运行时失败

"Unable to cast object of type 'System.Double[*]' to type 'System.Double[]'"

现在我可以创建一个基于零的数组,忽略第一个值,或使用偏移等,但是我忽略了一些允许非零向量的c#语法魔法?

更新:

如果他说“There’s no obvious way to make a non-zero-based array in C#”,我会采取Eric Lippert的话

解决方法

C#中的所有数组都是零.据我所知,没有办法创建一个基于1的数组.想像一下,如果有可能会发生什么样的混乱.这是一个类似的线程,解释了更多细节的问题 – C#: Nonzero-based arrays are not CLS-compliant

猜你在找的C#相关文章