首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在double[rowCount]中初始化数据=新的C# [columnCount]

如何在double[rowCount]中初始化数据=新的C# [columnCount]
EN

Stack Overflow用户
提问于 2017-05-20 04:09:55
回答 1查看 62关注 0票数 2

在Java中,我可以说:

代码语言:javascript
复制
private double[][] data;

并初始化它:

代码语言:javascript
复制
Data = new double[rowCount][columnCount]

然而,在C#中,我会说

代码语言:javascript
复制
private double[][] Data { get; set; }

如何在C#中以相同的方式初始化它?

编辑

到目前为止,这是C#中的一门课:

代码语言:javascript
复制
namespace Carnotaurus.UtilityPack.Models.StatModels.Matrices
{
    public class Matrix
    {

        public int RowCount { get; }

        public int ColumnCount { get; }

        public double[][] Data { get; set; }

        public Matrix(double[][] dat)
        {
            Data = dat;
            RowCount = dat.Length;
            ColumnCount = dat[0].Length;
        }

        public Matrix(int rowCount, int columnCount)
        {
            RowCount = rowCount;
            ColumnCount = columnCount;
            //Data = new double[rowCount][columnCount];
        }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-20 04:49:03

(无视我先前的回答,我的脑子里放了个屁。)

在C#中,我们有两种不同的多维数组。有正方形数组(double[,])和锯齿数组(double[][])。

正方形数组是真正的多维数组。第一个维度有一个子数组的集合长度,第二个维度中的每个数组也有一个设置长度,依此类推。它们通常用于定义网格或笛卡尔图之类的东西。您可以这样定义和初始化它们:

代码语言:javascript
复制
public double[,] Data { get; set; }

public Matrix(int rowCount, int columnCount)
{
    Data = new double[rowCount, columnCount];
}

交错数组被视为“数组数组”。每个子数组基本上是一个不同的数组,并且可能与其所有同级数组的长度相同,也可能不相同。因此,必须分别初始化每个子数组。它们的声明和初始化方式如下:

代码语言:javascript
复制
public double[][] Data { get; set; }

public Matrix(int rowCount, int columnCount)
{
    Data = new double[rowCount][];

    for (int i = 0; i < rowCount; i++)
    {
        Data[i] = new double[columnCount];
    }
}

对于这两种类型的数组可以达到多少维,并没有任何固定的限制。例如,您可以有一个10维的方阵:

代码语言:javascript
复制
double[,,,,,,,,,] Data;

..。或锯齿阵列:

代码语言:javascript
复制
double[][][][][][][][][][] Data;

..。尽管我建议您有一个非常好的理由来制作这么多维度的数组。:P

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44081806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档