yc1970725573 2022-07-25 15:56 采纳率: 16.7%
浏览 114
已结题

C#for循环为矩阵赋值会被覆盖

想通过for循环把数组里的值填入matrix矩阵,但是每次都会覆盖前一次的。比如当第二列填进去后,第一列就会变成0。本人不是搞这方面的,找了许久也没找到解决方法,希望各位能给出解答!十分感谢!
        var matrix10 = new DenseMatrix(10, 99999); //10*99999矩阵
   
    int ii = (lines.Length - 10);
    int j = 0;
    for (; j <10; j++) //十个数进入matrix
    {
           
            for (int i = ii; i < lines.Length; i++)//十个数进入array
        {
               
                string line = lines[i];
            // 拆分行
            string[] v = line.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
            Point p;
            // 获取X(第一列)        
            p.X = double.Parse(v[1]);
            // 获取Y(第二列)        
            p.Y = double.Parse(v[2]);
            // 获取Z(第三列)        
            p.Z = double.Parse(v[3]);
            // 获取M(第四列)        
            p.M = double.Parse(v[4]);
            arrayx1[i - lines.Length + 10] = p.X;
            arrayy1[i - lines.Length + 10] = p.Y;
            arrayz1[i - lines.Length + 10] = p.Z;
            arraym1[i - lines.Length + 10] = p.M;
          
            points.Add(p);
        }
       
            matrix10[j, b1] = arrayx1[j];
         
        }
  • 写回答

4条回答 默认 最新

  • 於黾 2022-07-25 16:25
    关注

    因为你的arrayx1是个全局变量
    而且它是引用类型的
    你应该在循环里面new它

    评论
    1人已打赏

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月27日
  • 赞助了问题酬金10元 7月26日
  • 修改了问题 7月25日
  • 创建了问题 7月25日

悬赏问题

  • ¥15 使用delphi 10.3+intraweb 生成的页面怎么实现自动滚屏
  • ¥20 思科:Router c3600 MN-4E插槽
  • ¥15 16进制修改视频的元数据
  • ¥15 岛津txt格式文件转nirs格式
  • ¥15 石墨烯磁表面等离子体
  • ¥15 angular 项目无法启动
  • ¥15 安装wampserver,图标绿色,但是无法进入软件
  • ¥15 C++ MFC 标准库 加密解密解惑
  • ¥15 两条数据合并成一条数据
  • ¥15 Ubuntu虚拟机设置