array<array<numeric>>A;
array<numeric>B;
arraycopy(A[1],B);
我本想通过这个代码将二维数组转化为几个一维数组,但是用arraycopy无法成功,还是说只能用for循环去一个一个赋值?
A[n]就是一个数组
上面朋友的方法是对的
老师麻烦看下面的评论,二维数组存在空值就无法正常赋值了
另外顺便请问一下老师,在我赋值到一维数组后,如何清除这里面的0值(清楚是否存在0值,以及所在位置),我考虑用ArrayFind+ArrayErase,但只能一个一个删除,如何能够批量删除?
B=A[1] ;
直接等于就可以
好像还是不行,我用textarray打印出来,B是空值
这个赋值是不可能有问题的
如果是空值,那肯定是别的地方出问题了
你打印的时候 A和B都打印看看
array<array<numeric>> A;
for i=0 to 20
{
for j=0 to 10
{
if(i>10 and j==0)
{
Continue;
}else{
A[i][j]=i+j;
}
}
}
array<numeric> B;
B=A[11];
print(TextArray(A[11])+" "+TextArray(B));
我知道原因了,我的二维数组在赋值的时候,有几组长度不一样。你可以试试这段代码,就无法成功赋值到B了
咦 这是什么原因呢?
A[11][0],A[12][0],A[13][0].....A[20][0],这几个值没有赋值成功
导致给B赋值,A[0],A[1].....A[10]都可以,从A[11]开始就不可以。
为什么呢?
老师,为什么呢?
array<array<numeric>> A;
array<numeric> B;
for i=0 to 20
{
for j=0 to 10
{
if(i>10 and j==0)
{
print( "A[" +text(i)+"]["+text(j)+"]=空值跳过");
Continue;
}else{
A[i][j]=i+j;
print( "A[" +text(i)+"]["+text(j)+"]="+text(A[i][j]));
}
}
}
B=A[11]; //A[0],A[1].....A[10]都可以,从A[11]开始就不可以
print("A= "+TextArray(A));
print("B= "+TextArray(B));
print(TextArray(A[11])+" 是否= "+TextArray(B));
🤝是吧,我也很奇怪,@左手TBQ右手智大领峰 老师麻烦看一下👆
现在空缺的是第一个元素 ,B就是空的
我试了一下,如果空缺的是第三个元素,那么0、1、2 都是可以输出出来的
想知道这个机制的原理是什么?是合理的吗?