就是加入我有P1 P2 P3 P4 P5 五个数组,我用for循环能实现当i=0时P=P1+P2 当i=1时P=P2+P3 当i=2时 P=P3+P4 往下以此

时间:2022-06-25 12:10:07
就是加入我有P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 十个数组,我用for循环能实现当i=0时P=P1+P2 当i=1时P=P2+P3 当i=2时 P=P3+P4 往下以此类推,就是数组名中的数字能随着循环而改变吗 希望有代码

5 个解决方案

#1


int[] P1 = new int[] { 1, 2, 3, 4 };
int[] P2 = new int[] { 5, 6, 7, 8 };
int[] P3 = new int[] { 9, 10, 11, 12 };
...
List<int[]> list = new List<int[]>() { P1, P2, P3, ... P10 };
int[] total = list.SelectMany(x => x).ToArray();

#2


你能解释一下吗
我补充一下我的问题是例如
                          ZXJLSZ[0, 0] = 0;
                       ZXJLSZ[0, 1] = Math.Abs(P1J[0, 1]) + Math.Abs(P2J[0, 1]);
                       ZXJLSZ[0, 2] = Math.Abs(P1J[0, 2]) + Math.Abs(P3J[0, 2]);
                       ZXJLSZ[1, 0] = Math.Abs(P2J[0, 0]) + Math.Abs(P1J[0, 1]);
                       ZXJLSZ[1, 1] = 0;
                       ZXJLSZ[1, 2] = Math.Abs(P2J[0, 2]) + Math.Abs(P3J[0, 1]);
                       ZXJLSZ[2, 0] = Math.Abs(P3J[0, 0]) + Math.Abs(P1J[0, 2]);
                       ZXJLSZ[2, 1] = Math.Abs(P3J[0, 1]) + Math.Abs(P2J[0, 2]);
                       ZXJLSZ[2, 2] = 0;
它的规律就是ZXJLSZ[j,k]=Math.Abs(P(j+1)[0,k])+Math.Abs(P(k+1)[0,j])
在for循环中如何能实现这样数组名改变的的规律啊,我写的P(j+1)[0,k]和P(k+1)[0,j]是不规范的,只是想表达我的意思

#3


我已经回答你了。

把这些数组装入一个集合,或者数组,用访问集合或者数组的下标代替访问数组变量名。

#4


麻烦你了,你能针对我的上面的写的,帮我下一下吗,我把你的放到我的程序里面出现了好多的错误,谢谢了

#5


 P1J数组我是这样定义的 double[,] P1J = new double[CGQcount,CGQcount];

#1


int[] P1 = new int[] { 1, 2, 3, 4 };
int[] P2 = new int[] { 5, 6, 7, 8 };
int[] P3 = new int[] { 9, 10, 11, 12 };
...
List<int[]> list = new List<int[]>() { P1, P2, P3, ... P10 };
int[] total = list.SelectMany(x => x).ToArray();

#2


你能解释一下吗
我补充一下我的问题是例如
                          ZXJLSZ[0, 0] = 0;
                       ZXJLSZ[0, 1] = Math.Abs(P1J[0, 1]) + Math.Abs(P2J[0, 1]);
                       ZXJLSZ[0, 2] = Math.Abs(P1J[0, 2]) + Math.Abs(P3J[0, 2]);
                       ZXJLSZ[1, 0] = Math.Abs(P2J[0, 0]) + Math.Abs(P1J[0, 1]);
                       ZXJLSZ[1, 1] = 0;
                       ZXJLSZ[1, 2] = Math.Abs(P2J[0, 2]) + Math.Abs(P3J[0, 1]);
                       ZXJLSZ[2, 0] = Math.Abs(P3J[0, 0]) + Math.Abs(P1J[0, 2]);
                       ZXJLSZ[2, 1] = Math.Abs(P3J[0, 1]) + Math.Abs(P2J[0, 2]);
                       ZXJLSZ[2, 2] = 0;
它的规律就是ZXJLSZ[j,k]=Math.Abs(P(j+1)[0,k])+Math.Abs(P(k+1)[0,j])
在for循环中如何能实现这样数组名改变的的规律啊,我写的P(j+1)[0,k]和P(k+1)[0,j]是不规范的,只是想表达我的意思

#3


我已经回答你了。

把这些数组装入一个集合,或者数组,用访问集合或者数组的下标代替访问数组变量名。

#4


麻烦你了,你能针对我的上面的写的,帮我下一下吗,我把你的放到我的程序里面出现了好多的错误,谢谢了

#5


 P1J数组我是这样定义的 double[,] P1J = new double[CGQcount,CGQcount];