吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1269|回复: 20
收起左侧

[求助] 在线求助一个C#数组问题

[复制链接]
luanshils 发表于 2020-5-12 00:08
本帖最后由 luanshils 于 2020-5-12 18:40 编辑

[C#] 纯文本查看 复制代码
 int[] n;
n= new int[4];
        for (int i= 0,j=0; i <n.Length; i++,j+=2)
        {
            n[j] = i;  //运行提示这行数组越界
            n[j + 1] = i;
        }


代码发帖为啥不能tab缩进

本来想实现的结果是n的长度小于4,每个元素是 00 11 22 33 44 这样的一对,后面发现我代码好像有问题?
希望各位能够指点迷津



有大佬说数组越界,确实是这个情况,
image.png
不对索引操作,单独遍历了i和j




我另一种方法是用arraylist,可以是可以,就是希望能看到各位大佬的有没有更巧妙的方法
看到有人说让我补充一下我的想法,那我补充一下:
比方我传入数组长度为,8,那我下标是0-7 {0,0,1,1,2,2,3,3},这样四对  int类型的,然后如果传入数组长度为16,那就要有8对这样的

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
经典柚子 + 1 + 1 热心回复!
Lucifer_BW + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

神之名 发表于 2020-5-12 00:27
想要数组元素是00.11.22.33.44?
 楼主| luanshils 发表于 2020-5-12 00:29
神之名 发表于 2020-5-12 00:35
神之名 发表于 2020-5-12 00:52
字符串数组结果数组元素是{"00","11","22","33","44"}
string[]n=new string[5];
for(int i=0;i<n.length;i++)
{
        n[i]=""+i+i;
}
如果要int数组,结果就是{0,11,22,33,44}
int[]n=new int[5];
for(int i=0;i<n.length;i++)
{
        n[i]=i*11;
}
CIBao 发表于 2020-5-12 01:38

数组索引用的是变量 j ,而你循环控制用的是变量 i , 直接越界爆炸
建议用单步调试去看变量变化

 楼主| luanshils 发表于 2020-5-12 07:28
本帖最后由 luanshils 于 2020-5-12 07:37 编辑
CIBao 发表于 2020-5-12 01:38
[md]数组索引用的是变量 `j` ,而你循环控制用的是变量 `i` , 直接越界爆炸
建议用单步调试去看变量变化[/m ...

好像是爆炸了,我不禁陷入了沉思
 楼主| luanshils 发表于 2020-5-12 07:37
神之名 发表于 2020-5-12 00:52
字符串数组结果数组元素是{"00","11","22","33","44"}
string[]n=new string[5];
for(int i=0;i

忘了说,其实是想要[0,0,1,1,2,2,3,3]
雪落下的声音 发表于 2020-5-12 08:02
设两个不同的数组x[],y[],在一个if循环里赋值
 楼主| luanshils 发表于 2020-5-12 08:12
雪落下的声音 发表于 2020-5-12 08:02
设两个不同的数组x[],y[],在一个if循环里赋值

这个可以
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 17:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表