当前位置:编程学习 > C#/ASP.NET >>

索引超出了数组界限

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        short qtemp;
        string data;
        //string  data1;
        double q;
        
        int x=0;
        
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            serialPort1.Close();
            Close();

        }
       
        private void Form1_Load(object sender, EventArgs e)
        {
            serialPort1.PortName = "COM3";
            serialPort1.BaudRate = 9600;
            serialPort1.Encoding = Encoding.BigEndianUnicode;
            serialPort1.Open();
        }
        private void DisplayText(object sender, EventArgs e)
        {
           
        
              char[] data1 = data.ToCharArray ();//字符串转字符数组                              
             short   data2 = (short)data1[0];//字符转数值    
              q=data2/10.0;//十进制
             textBox5.Text =q.ToString ();
           //  chart1.Series["Series1"].Points.AddXY(x, q);
             short q2 = (short)(q*2);
             Graphics pic = this.pictureBox1.CreateGraphics();
             pictureBox1.BackColor = Color.White;
             if (x > 1) pic.DrawLine(Pens.Black, x, pictureBox1.Height - qtemp, x + 1, pictureBox1.Height - q2);
             qtemp = q2;
              
            x++;
        }
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (serialPort1.IsOpen) serialPort1.Close();
        }
        private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            data= serialPort1.ReadExisting();
            this.Invoke(new EventHandler(DisplayText));
        }

        
      
        
    }
}

串口通信,接收单片机发送的数据。数据如下
01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9E 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9D 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9C 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B 01 9B .....
标颜色的那个语句显示索引超出了数组界限,求解! C# --------------------编程问答--------------------  
 private void DisplayText(object sender, EventArgs e)
        {
           
        
              char[] data1 = data.ToCharArray ();//字符串转字符数组                              
             short   data2 = (short)data1[0];//字符转数值    
              q=data2/10.0;//十进制
             textBox5.Text =q.ToString ();
           //  chart1.Series["Series1"].Points.AddXY(x, q);
             short q2 = (short)(q*2);
             Graphics pic = this.pictureBox1.CreateGraphics();
             pictureBox1.BackColor = Color.White;
             if (x > 1) pic.DrawLine(Pens.Black, x, pictureBox1.Height - qtemp, x + 1, pictureBox1.Height - q2);
             qtemp = q2;
              
            x++;
        }

其中的: short   data2 = (short)data1[0];//字符转数值   这句越界 --------------------编程问答-------------------- data为""
在data= serialPort1.ReadExisting();下一个断点调试下。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,