【问题标题】:how do i maintain previous and current received data arrays with out getting out of bounds in C#我如何维护以前和当前接收到的数据数组而不会超出 C#
【发布时间】:2020-05-24 04:09:39
【问题描述】:

所以我通过将接收到的数据放入一个数组来维护以前和当前从文本框中接收到的数据,但是当使用 split() 将它们拆分时,我的一个 newPosition 数组不起作用,触发“索引超出了数组”,但另一个 oldPosition 工作正常。我有点卡住了

这是我目前的实现

           for (i = 1; i < textBox_ReceievedData.Lines.Length; i++)
            {
                currentPos = textBox_ReceievedData.Lines[i];
                prevPos = textBox_ReceievedData.Lines[i - 1];
              
                System.Console.WriteLine("array pos " + i);
                System.Console.WriteLine("previous array " +prevPos);
                System.Console.WriteLine("current Array " + currentPos);


                oldPosition = prevPos.Split(delimiterChars);
                newPosition = currentPos.Split(delimiterChars);

                System.Console.WriteLine("op " + oldPosition[2]);// used to get value in 2nd postition
            //System.Console.WriteLine("np " + newPosition[2]);// used to get value in 2nd postition, but will get an error
}

输出:

array pos 2
previous array $GPGGA,090156.80,3651.09301173,S,17445.84851186,E,1,05,2.87,038.38,M,-21.3213,M,,*63
current Array $GPGGA,090157.00,3651.09230339,S,17445.84886368,E,1,05,2.87,038.33,M,-21.3213,M,,*6D
op 3651.09301173
array pos 3
previous array $GPGGA,090157.00,3651.09230339,S,17445.84886368,E,1,05,2.87,038.33,M,-21.3213,M,,*6D
current Array $GPGGA,090157.20,3651.09159552,S,17445.84921771,E,1,05,2.87,038.29,M,-21.3213,M,,*68
op 3651.09230339

如果我使用 System.Console.WriteLine("np " + newPositon) 我会得到,

System.String[] 

【问题讨论】:

  • 表示newPosition中不存在索引2。也就是说它只有 2 个元素。
  • 拆分后没有值
  • 如果我使用 System.Console.WriteLine("np " + newPositon) 我会得到 System.String[]
  • @Cherios 我刚刚检查过,你的代码工作正常

标签: c# arrays forms


【解决方案1】:

刚刚检查,您的代码运行良好。似乎输入的格式不正确。请输入一个 if 条件来检查索引是否存在,如下所示:

if (newPosition.Length > 2)
 {
  System.Console.WriteLine("np " + newPosition[2]);
 }

在这里输出:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多