Auch wenn dies ist ein sehr spezifisches Problem, hier ist eine Lösung:
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 }
Es nimmt die Elemente aus der ersten Reihe, überprüft, ob es selbst und ersetzt sie, wenn sie von dem Punkt an dieser Position ungerade sind das andere Array.
Ich bin mir nicht ganz sicher, ob dies das ist, was Sie suchen, andernfalls erklären Sie bitte Ihr Problem.
Zum Beispiel könnten Sie Elemente mit ungerader Index bedeuten:
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 }
Haben Sie Elemente auf gerade/ungerade Indexpositionen oder Elemente mit gerade/ungerade Werte bedeuten? –
Zeigen Sie, was Sie bisher versucht haben. – Sniper