Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按相反顺序将数组值传递给另一个数组_C#_Array Reverse - Fatal编程技术网

C# 按相反顺序将数组值传递给另一个数组

C# 按相反顺序将数组值传递给另一个数组,c#,array-reverse,C#,Array Reverse,我想将int a[]值传递到int b[]。但我面临困惑。有人能纠正我吗。b的输出为0,0,0,45,4,2,1。它应该是7,6,5,4,45,2,1 static void Main() { int[] a = new int[] { 1, 2, 45, 4, 5, 6, 7 }; int[] b = new int[7]; int temp = 0; for (int i = 0; i <= a.Length - 1; i++) {

我想将int a[]值传递到int b[]。但我面临困惑。有人能纠正我吗。b的输出为0,0,0,45,4,2,1。它应该是7,6,5,4,45,2,1

static void Main()
{
    int[] a = new int[] { 1, 2, 45, 4, 5, 6, 7 };
    int[] b = new int[7];
    int temp = 0;

    for (int i = 0; i <= a.Length - 1; i++)
    {
        b[(b.Length - i) - 1] = a[i];

        Console.WriteLine(b[i]);
    }     
}   
static void Main()
{
int[]a=新的int[]{1,2,45,4,5,6,7};
int[]b=新的int[7];
内部温度=0;

对于(int i=0;i这里的问题是,您正在插入从
b
的最后一个索引开始的项目,但是您正在从第一个索引开始输出它们。复制项目的代码是正确的,但是您需要调整将结果输出到控制台的行,以便使用与您所使用的相同索引在
b
中显示项目ust用于插入项目


注意,您还可以做一些其他改进,例如为
a
使用数组初始值设定项语法,使用
a.Length
实例化
b
而不是硬编码的数字,删除未使用的
temp
变量,为
for
条件使用
i
(如果要从现有数组创建反向数组,可以使用扩展方法,而不是
i:

//using System.Linq;
int[] a = new int[] { 1, 2, 45, 4, 5, 6, 7 };
int[] b = a.Reverse().ToArray();

您可以了解更多信息。

您可以使用此语法

int[] a = {1, 2, 45, 4, 5, 6, 7};
int[] b = new int[7];

for (int i = 0, j = b.Length - 1; i < a.Length; i++, j--)
{
    b[i] = a[j];
    Console.WriteLine(b[i]);
}
int[]a={1,2,45,4,5,6,7};
int[]b=新的int[7];
对于(int i=0,j=b.长度-1;i
问题在于,在完成复制之前,您正在从
b
写入值。将
写入线
移动到第二个循环中。这看起来像是您对控制台的调用。写入线只是打印了一个与您之前在行中写入的不同的字符索引。还有
数组。如果您像我一样懒惰,请反转
当前位置但这不是-fun@T.S.有趣的是:
for(inti=a.Length-1;i>=0;i--)b[b.Length-i-1]=a[i];
;)对理解这个概念很有帮助(这很有趣;)
//using System.Linq;
int[] a = new int[] { 1, 2, 45, 4, 5, 6, 7 };
int[] b = a.Reverse().ToArray();
int[] a = {1, 2, 45, 4, 5, 6, 7};
int[] b = new int[7];

for (int i = 0, j = b.Length - 1; i < a.Length; i++, j--)
{
    b[i] = a[j];
    Console.WriteLine(b[i]);
}