나는 다음과 같은 코드가 있습니다C#을, 인덱스 배열의 범위를 벗어난
void serialport_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string serialData = serialport.ReadExisting().Replace("/n", "");
string[] splitSerialData = serialData.Split(new Char[] {','}); //Split up the data
this.Invoke(new Action(delegate()
{
this.temperatureLabel.Text = splitSerialData[0];
}));
}
을 그리고 그것은 잘 작동하지만 내가 할 때
이void serialport_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string serialData = serialport.ReadExisting().Replace("/n", "");
string[] splitSerialData = serialData.Split(new Char[] {','}); //Split up the data
this.Invoke(new Action(delegate()
{
this.temperatureLabel.Text = splitSerialData[0];
this.lightLevelLabel.Text = splitSerialData[1];
}));
}
그것은 "일을 말한다하지 않습니다 인덱스 배열의 범위를 벗어난 것입니다".
'/ n'이 (가)'\ n '이 아닌가요? – dasblinkenlight
문자열에 쉼표가 있습니까? 힌트 : 그렇지 않습니다. – Ryan
splitSerialData의 문자열 수를 확인해야합니다. splitSerialData.Length> 2를 사용합니다. – Casperah