【发布时间】:2011-10-12 09:42:04
【问题描述】:
我还有一个关于列表列表的问题。再一次,我有如下的通用矩阵类。
public class Matrix<T>
{
List<List<T>> matrix;
public Matrix()
{
matrix = new List<List<T>>();
}
public void Add(IEnumerable<T> row)
{
List<T> newRow = new List<T>(row);
matrix.Add(newRow);
}
}
// Test code
Matrix<double> matrix = new Matrix<double>();
matrix.Add(new List<double>() { 0, 0 });
matrix.Add(new List<double>() { 16.0, 4.0 });
我正在从包含以下格式的值的文本文件中读取字符串行,
4 2
0.5 0.4 0.6 0.1 10.1 11.1 0.5 12.0
第一行指定 4x2 矩阵大小。 第二行需要使前 4 个值位于矩阵的第一列,最后四个值应位于第二列。 这是动态的,因此大小不是固定的。
读取行和分隔这些行是排序的。我的问题是关于如何使用 Matrix 类来存储这些值。换句话说,我怎样才能连续处理元素?
应该这样做,以便矩阵看起来像,
0.5 10.1
0.4 11.1
0.6 0.5
0.1 12.0
提前致谢。
【问题讨论】:
-
你已有的代码有什么问题?看起来应该可以了?
-
问题在于添加部分。因为这是动态的,所以我不知道如何实现 matrix.Add(new List
() { row elements }) -
您已经在代码中这样做了——您的意思是同时添加多行吗?
-
确实如此。那是我的问题。抱歉,我措辞不当。