C# for循环中双数组的索引超出范围

C# for循环中双数组的索引超出范围,c#,arrays,for-loop,indexing,double,C#,Arrays,For Loop,Indexing,Double,我是C#的初学者。无论我对以下代码段做了什么尝试,我都会得到索引超出范围的异常: double[,] mysine = new double[0, NumPoints]; double s = (2 * Math.PI) / NumPoints; for (int i = 0; i < NumPoints; i++) { mysine[0, i] = Math.Sin(i * s) + 1; } double[,]mysine=

我是C#的初学者。无论我对以下代码段做了什么尝试,我都会得到索引超出范围的异常:

    double[,] mysine = new double[0, NumPoints];

    double s = (2 * Math.PI) / NumPoints;

    for (int i = 0; i < NumPoints; i++)
    {
        mysine[0, i] = Math.Sin(i * s) + 1;
    }
double[,]mysine=newdouble[0,NumPoints];
双s=(2*Math.PI)/NumPoints;
对于(int i=0;i
数组大小为NumPoints,我的循环从零循环到(NumPoints-1),这不会给出错误。我也试过其他的方法,但都没有成功。我是不是有别的地方不对

double[,] mysine = new double[0, NumPoints];
应该是

double[,] mysine = new double[1, NumPoints];
括号之间的数字定义数组的大小,而不是maximumindex。
因此,当使用0时,实际上定义了一个不可用的数组。

double[0,X]
如果大小为0,那么…实际上,0是一个“null”维度,没有维度,没有任何内容,不存在,大小为0,不允许数据。但是
new double mysine[1,NumPoints]
是一个
1xnumpoints
矩阵,其中D1=1个项目,D2=NumPoints项目是大小,因此项目总数是1xnumpoints。也就是说,它只是一个一维数组。。。所以它可以被简化,否则你需要不止一本。为了帮助你提高你的技能,请看一看在线教程和专业书籍。