c#代码索引超出-c#在for循环里面,它说索引超出数组界限

问题描述

c#在for循环里面,它说索引超出数组界限
它说这句有问题: c[sum] = a[x]; d[sum] = b[x];
问题部分代码是如下:
int t;
int k;
// int s;
int y;
Image img = new Image(dast1);
Emgu.CV.Structure.MCvScalar p;
t = img.Height; //获取图片的高
k = img.Width;//获取图片的宽

        double[] a = new double[k*t];//用来储存像素点的x坐标值      double[] b = new double[k*t];//用来储存像素点的y坐标值      double[] c = new double[k*t];//用来储存像素点的x坐标值       double[] d = new double[k*t];//用来储存像素点的y坐标值        unsafe        {            //int n = 0;          //  int sum =k*t;            double[] h = new double[k*t];//可能用来储存最后输出地x坐标            double[] z = new double[k*t];//可能用来储存最后输出地y坐标            for (int sum = 0;sum<(k*t) ; )            {                c[sum] = 0; d[sum] = 0;                for (int v = 0; v < 9; v++)                    for (y = (t / 10) * v; y < (t / 10) * (v+1); y++)  //y值总行数的1/10行遍历一次                    {                        //计算黑色点的个数,9-黑色点的个数=白色店的个数                        // c[s] = 0; d[s] = 0;                        //   for (int y = 3 * s; y < 3 * (s + 1); y++)                        //  {//int n = 0;                        //计算黑色点的个数,9-黑色点的个数=白色店的个数                        // for (int x = 0; x < (k / 3); x++)                        // {                        for (int x = 0; x < k; x++)                        {                            // s = (x + 3);//下面3个坐标所谓一的辅助变量                            // int n = 0;//计算白色坐标点的个数                            //  while ((x < s) && ((x + 2) < k))//当还没到3个坐标时,并且还没遍历一行时                            // {                            p = CvInvoke.cvGet2D(img y x);//此时p中的值就是当前像x素点rgb值,注意此时的p.val[0]为b通道p.val[1]为g  p.val[2]为r                            // Gray color = img[y x];                             if (p.v0 != 0)//如果坐标点为白色即为像素点                            { //a[x] = w; b[x] = y;                                 // n++;                                a[x] = x; b[x] = y;                                c[sum] = a[x]; d[sum] = b[x];                                //为后面的排序做准备                              //  c[i] = a[x]; d[i] = b[x];                                //0.1代表1mm                              //  textBox1.Text = ((x / 44) - 2 + (x % 43) * 0.1).ToString() + ""&"" + ((y / 44) - 2 + (y % 43) * 0.1).ToString() + "" "" + textBox1.Text;                            }                            else                            {                                a[x] = 0; b[x] = 0;                            }                            sum++;                        }

学渣求大神指教!!!!

解决方案

要么断点,要么输出日志
看看索引在哪越界的

时间: 2024-10-30 18:43:16

c#代码索引超出-c#在for循环里面,它说索引超出数组界限的相关文章

将分割的字符串绑到Grid上时,for each循环出现“索引超出数组界限”错误如何解决

问题描述 WinForm的假设我有段字符串stringstr="((,fnumber,>=,0514,,and;,fnumber,<,0519,)),;"; 以":"和","通过两次分割,将分割后的字符串显示在DataGridView中,显示效果如下:col0col1col2col3col4col5((fnumber>=0514andfnumber<0519))我自己写的分割代码如下:string[]row=strwher

代码-C#数字图像处理出现“索引超出了数组界限”的异常,求帮忙

问题描述 C#数字图像处理出现"索引超出了数组界限"的异常,求帮忙 有关调用实时(JIT)调试而不是此对话框的详细信息, 请参见此消息的结尾. ************** 异常文本 ************** System.IndexOutOfRangeException: 索引超出了数组界限. 在 XiaoLiJishu.Form1.areas(Byte[,] img, Int32 w, Int32 h) 位置 D:VS项目XiaoLiJishuXiaoLiJishuMainFo

【新手】数组循环写到listBox里面出现,索引超出了数组界限

问题描述 数组循环写到listBox里面出现,索引超出了数组界限.在做一个聊天室,需要显示在线人员.小弟刚学习.net,求大神解答代码如下:protectedvoidPage_Load(objectsender,EventArgse){Application.Lock();//把application里的聊天记录拿出来,用,分开成数组string[]messages=Application["chats"].ToString().Split(',');for(inti=0;i<=

sql-C# 按行读取txt文本内容导入数据库SQL(1)第二行数据就从第二列插入(2)索引超出了数组界限?

问题描述 C# 按行读取txt文本内容导入数据库SQL(1)第二行数据就从第二列插入(2)索引超出了数组界限? 都是按行读取txt内容,(因为有两行数据和其他的不一样)用正则分析出来,赋给一个字符串数组, 将一个字符串数组的每个值一次写入数据库行的对应列.一行读取完成. 可是却显示,索引超出了数组界限,数组个数和行对应的 .将读取出来的数据显示在textBox中是正确的, 但是奇怪的是也确实是导入进去了,数据库中表格有了数据 最终结果似乎对的,除了第二行第一列没有数据.谢谢,刚入手,第一个程序!

异常-索引超出了数组界限,求助啊

问题描述 索引超出了数组界限,求助啊 菜鸟学习些代码,实在是不知道怎么改,求助啊!! 运行出现如下问题: 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.IndexOutOfRangeException: 索引超出了数组界限. 源错误: 行 40: 行 41: // 初始化接口服务连接资源 行 42: client.initResources(); 行 43: Console.Writ

“/”应用程序中的服务器错误。索引超出了数组界限。

问题描述 "/"应用程序中的服务器错误.索引超出了数组界限. "/"应用程序中的服务器错误. 索引超出了数组界限. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.IndexOutOfRangeException: 索引超出了数组界限. 源错误: [没有相关的源行] 源文件: c:WINDOWSMicrosoft.NETFrameworkv2.0.50727

MySql Blob图片类型存储Bug解决:索引超出了数组界限错误

告别了一周多的网络,终于回归,突见群里,有网友提了以下问题: CYQ.Data框架测试:mysql数据库测试(保存blob类型的数据会出问题) ,针对mysql数据库做测试:发现更新blog字段,总是保存System.Byte[]   既然网友提出了问题,本地再试验一下: 先在本地装了个Mysql,又装了个navicat管理工具,又新建了个工程来测试: 简单的测试方法,就是放一个按钮,点击一下,读取远程图片,然后存到数据库,再读取出来显示到界面上. 管理工具随意建了个表"D1",弄了三

c#-C#其他信息: 索引超出了数组界限。

问题描述 C#其他信息: 索引超出了数组界限. private void button1_Click(object sender, EventArgs e) { string str = richTextBox1.Text; string[] lines = str.Split(Environment.NewLine.ToCharArray()); for (int i = 1; i < lines.Length; i++) { Console.WriteLine(lines[i]); stri

DWGdirect error 索引超出了数组界限

问题描述 小弟刚下载了一个DWGdirect_NET_3_02可按下F5就报这个错,请各位大侠指教! 解决方案 解决方案二:错误提示是什么?解决方案三:就在cmd窗口里提示一个"DWGdirecterror索引超出了数组界限"然后迅速就没了,无法截图.在网上搜了一下好像是什么为空了.按F5没进断点就报错!我qq:530536333csdn有DWGdirect_NET_3_02的源码.解决方案四:代码中搜索一下错误内容.解决方案五:代码里面没报任何错误!解决方案六:你QQ多少..可以谈下