所以我目前正在尝试将一些旧的C ++代码转换为C#用于练习目的,在我的C ++中我有以下几行代码:
Matrix::Matrix(const i_list & list)
{
numCol = (*(list.begin())).size();
numRow = list.size();
/...More Code
}
i_list的类型定义如下:typedef initializer_list<initializer_list<double>> i_list;
我们可以看到它是一个2D列表,在我的C#代码中我做了类似的事情,但是我在构造函数的参数中定义了列表签名,因为根据我的理解,C#缺少typedef,如下所示:
MatrixLogic(ref List<List<Object>> matrixList)
{
}
但是我对于如何正确获取matrixList的列数和行数感到很遗憾。输入的格式如下:myEntry = {{1,2},{3,4},{5,6}}
或其中的一些变体。
答案 0 :(得分:0)
嗯,对于一个,List<List<double>>
不像<{1}}那样必然方形。 C#中最接近的内置结构是Matrix
。
那就是说,如果你假设外部列表的所有元素都是相同的大小,那么&#34;外部&#34;的长度。维度将是
double[,]
您可以查看第一个项目的大小以获得&#34;内部&#34;长度:
matrixList.Count