int[] array1 = new int[6] {2, 5, 7, 8, 9, 4};
int[] array2 = new int[6] {4, 8, 2, 1, 5, 8};
我想用第二个偶数元素改变第一个数组中的奇数元素。
答案 0 :(得分:1)
长版本和问题的不同方法。 (没有Linq)
int[] array1 = new int[6] { 2, 5, 7, 8, 9, 4 };
int[] array2 = new int[6] { 4, 8, 2, 1, 5, 8 };
for (int i = 0; i < array1.Length; i++)
{
if ((array1[i] % 2 == 0))
{
array1[i] = array1[i];
}
else
{
array1[i] = array2[i];
}
}
foreach(int t in array1)
Console.Write(t + ", ");
//result: 2, 8, 2, 8, 5, 4
答案 1 :(得分:0)
尽管这是一个非常具体的问题,但这是一个解决方案:
var array1 = new[] { 2, 5, 7, 8, 9, 4 };
var array2 = new [] { 4, 8, 2, 1, 5, 8 };
array1 = array1.Select((i, index) => i % 2 == 1 ? array2[index] : i).ToArray();
//result: int[6] { 2, 8, 2, 8, 5, 4 }
它取第一个数组中的元素,检查它是否均匀,如果它与另一个数组的那个位置的项目有点奇怪,则替换它。
我不完全确定这是你正在寻找的东西,否则请澄清你的问题。
例如,您可以指具有奇数索引的项目:
var array1 = new[] { 2, 5, 7, 8, 9, 4 };
var array2 = new[] { 4, 8, 2, 1, 5, 8 };
array1 = array1.Select((i, index) => index % 2 == 1 ? array2[index-1] : i).ToArray();
//result: int[6] { 2, 4, 7, 2, 9, 5 }