在数组之间传输数据并缺少一些值

本文关键字:数组 之间 传输 数据 | 更新日期: 2024-09-24 09:02:01

>我有一个大小为 200 的维String数组,偶数索引单元格 (0,2,4,6,...( 由 Int 填充,奇数索引单元格 (1,3,5,7,...( 由 Float 填充。为了向这个数组添加一些值,我想将此数组传输到大小为 [100,2] 的二维String数组,第一行由Int填充,第二行由浮点数填充。

问题是在数组之间的传输过程中,我随机错过了一些值(我得到 Null 代替(。我已经检查了数据以确保我的数据格式正确。

    int shomar = 0;
    for (int y = 0; y < MITNeighborSource.Length; y +=2)                                                                                                        
    {
        for (int x = 0; x < Cal.GetLength(0); x++)
        {
          if (MITNeighborSource[y] == Cal[x, 0])
          {
              MITNeighborSourceEdge[0, shomar] = MITNeighborSource[y];   //course ID                                                                                                   
              MITNeighborSourceEdge[1, shomar] = Cal[x, 2];          //output degree                                                                                               
              MITNeighborSourceEdge[2, shomar] = Cal[x, 3];          //Input degree                                                                                                
              MITNeighborSourceEdge[3, shomar] = MITNeighborSource[y+1]; //The cosine similarity                                                                                       
              break;
          }
          if (MITNeighborSource[y] == Cal[x, 1])
          {
              MITNeighborSourceEdge[0, shomar] = MITNeighborSource[y];   //course ID                                                                                                   
              MITNeighborSourceEdge[1, shomar] = Cal[x, 4];          //output degree                                                                                               
              MITNeighborSourceEdge[2, shomar] = Cal[x, 5];          //Input degree                                                                                                
              MITNeighborSourceEdge[3, shomar] = MITNeighborSource[y+1]; //The cosine similarity                                                                                                                                                                      
              break;
          }
        }
shomar++;
    }

可能是什么问题?

在数组之间传输数据并缺少一些值

如果您只想根据项目索引将一维数组分成二维数组,则可以像下面这样操作。假设strArray是你的一维数组:

        string[] oneDArray = new[] {"200", "2.1", "40", "56.3", "34"};
        var list = oneDArray .ToList();
        var twoDArray = list.GroupBy(x => list.IndexOf(x)%2).Select(x=>x.ToArray()).ToArray();

在这里,twoDArray 将有两个数组,其中包含来自 oneDArray 的偶数和奇数索引元素。