當我嘗試訪問使用計數器變量實時輸入數據的列表時,出現ArgumentOutofRangeException。這是我的部分代碼C中的動態列表超出範圍異常#
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
RxString = serialPort1.ReadExisting();
RxString = RxString.Replace("$", "");
this.Invoke(new EventHandler(DisplayText));
}
private void DisplayText(object sender, EventArgs e)
{
richTextBox1.AppendText(RxString);
parsed(ref ctr);
richTextBox2.Text = String.Join(Environment.NewLine, stringList);
}
public void parsed(ref int ctr)
{
string line;
line = richTextBox1.Text;
stringList= new List<String(line.Split(','));
displayval(ref int ctr);
}
public void displayval(ref int ctr)
{
line = RxString;
stringList= new List<String>(line.Split(','));
richTextBox3.AppendText("\n Pressure:" + stringList[ctr]);
ctr++;
richTextBox3.AppendText("\n Accelerometer:" + stringList[ctr]);
ctr++;
richTextBox3.AppendText("\n Temperature:" + stringList[ctr]);
ctr++;
richTextBox3.AppendText("\n Height:" + stringList[ctr]);
ctr++;
}
我正在從一個Arduino實時串行輸入,我想分析其即將像$ 1032,432,541,145的CSV值。
我能夠將它解析爲單個值,但後來我無法使用ctr訪問列表。我是C#的新手,所以非常感謝幫助。
在哪一行,你得到的異常?你爲什麼使用ref參數? – Rik 2013-03-19 09:55:47
嘗試使用ctr [index]來訪問數組的每個段。像ctr [0]等等... – 2013-03-19 09:56:13