gpt4 book ai didi

c# - 以相反的顺序将数组值传递给另一个数组

转载 作者:行者123 更新时间:2023-11-30 13:18:43 24 4
gpt4 key购买 nike

我想将 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]);
}
}

最佳答案

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

请注意,您还可以进行其他一些改进,例如对 a 使用数组初始化语法, 使用 a.Length实例化 b而不是硬编码数字,删除未使用的 temp变量,使用 i < a.Length对于 for条件(而不是 i <= Length - 1 ,它在每次迭代时执行减法操作),并存储 b变量中的索引而不是计算两次:

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

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

Console.ReadLine();
}

但是,这仍然会按照您插入它们的顺序输出项目,这与它们在 a 中出现的顺序相同.如果要显示 b 中的项目与a相反,最简单的方法是在填充 b 之后执行此操作.注意我们可以使用 string.Join此处使用逗号连接每个项目的方法:

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

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

Console.WriteLine($"'a' array: {string.Join(",", a)}");
Console.WriteLine($"'b' array: {string.Join(",", b)}");

Console.ReadLine();
}

输出

enter image description here

关于c# - 以相反的顺序将数组值传递给另一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53991762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com