我定义了一个类是Complex; 又定义了一个类是Matrix;  public class Complex
    {
        double re;
        double im;
     
        public double Re
        {
            get { return re; }
            set { re = value; }
        }        public double Im
        {
            get { return im; }
            set { im = value; }
        }
}  public class Matrix
    {      private ArrayList Values;      public int RowCount
        {
            get { return rowCount; }
        }      public int ColumnCount
        {
            get { return columnCount; }
        }       private int rowCount;       public Matrix()
        {
            Values = new ArrayList();
            rowCount = 0;
            columnCount = 0;
            
        }
      public Matrix(Complex[,] values)
        {
            if (values == null)
            {
                Values = new ArrayList();
                columnCount = 0;
                rowCount = 0;
            }            rowCount = (int)values.GetLongLength(0);
            columnCount = (int)values.GetLongLength(1);            Values = new ArrayList(rowCount);            for (int i = 0; i < rowCount; i++)
            {
                Values.Add(new ArrayList(columnCount));                for (int j = 0; j < columnCount; j++)
                {
                    ((ArrayList)Values[i]).Add(values[i, j]);
                }
            }
            
        }
}现在想在主程序中实现这样的操作,即:Matrix a = new Matrix (Complex[,] b);
来建立将复数数组b中的数值赋到a 矩阵中,请问如何才能实现?现在这种状态下, a只带有行宽,列宽属性,但Values无法获得。请问这种情况如何解决?

解决方案 »

  1.   

    本帖最后由 caozhy 于 2011-05-31 23:34:22 编辑
      

  2.   


    如果按我这种方式进行数据读取,是不是需要再定义一个Complex[,]类型,然后才能进入到Matix操作部分?
      

  3.   

    Complex[,] b定义个同样的结构在类中,应该就可以了吧?你要的是什么?
      

  4.   

    我在主函数中写了一个Complex[,] b的结构,没有办法取出b中数据到Matrix中。但如果变成int[,] b描述的数据,则可以取数据到matrix中,而且没有任何问题。
      

  5.   

    Complex[,] b中有数据,可以看到,但用new 函数后,matrix中没有数据。所以,不知道为什么用int[,]b 数据可以正常流动,而到了Complex[,] b上,就无法正常流动了。