這是我真正在處理的東西的擴展。 在循環中很容易做到,但我想知道是否可以找到單一代碼行。c#array collater其中輸出每隔一個元素具有相同的值
這是輸入:反正
byte[] x = new byte[] { (byte)'a', (byte)'b', (byte)'c', (byte)'d' };
重新寫值,你喜歡,但你明白了吧。你必須從一個字節數組開始,最後得到一個整理好的字節數組。
下面是所需的輸出:
byte[] { (byte)'a', (byte)'z', (byte)'b', (byte)'z', (byte)'c', (byte)'z', (byte)'d', (byte)'z'};
我想這個變化,但開始有什麼我展示,知道這本身並不會工作。
var y = x.Select(c => new byte[] { c, (byte)'z' });
在這一天,因爲這最終只是字節什麼都無所謂的值。 只是你可以關聯一些給定的值,在這種情況下'z'。 而且只有少數幾行,最好是單行,這是相當清晰和簡潔的。
這太酷了。謝謝。 – Steve
你可以找到一個非lambda的方式來做到這一點? – Steve
@ user2367083:當然,你*可以*使用查詢表達式 - 但它會更長,更難以閱讀。你爲什麼要避免使用lambda表達式?你最關心的是什麼? –