我有命名爲items
兩個String數組和items1
items
陣列由1296個元素 items1
陣列由 複製items1
成items
8個元件。我想這樣的事情,但它不工作,讓看看這個如何使用C#將字符串數組複製到另一個字符串數組?
items1.CopyTo(items, items1.Length -1);
Array.Copy(items1, items, items1.Length-1);
我有命名爲items
兩個String數組和items1
items
陣列由1296個元素 items1
陣列由 複製items1
成items
8個元件。我想這樣的事情,但它不工作,讓看看這個如何使用C#將字符串數組複製到另一個字符串數組?
items1.CopyTo(items, items1.Length -1);
Array.Copy(items1, items, items1.Length-1);
這應該工作
Array.Resize(ref items, items.Length + items1.Length);
Array.Copy(items1, 0, items, items.Length - items1.Length, items1.Length);
如果您希望元素附加,而不是覆蓋嘗試以下
items = items.Concat(items1).ToArray();
順便說一句使用有意義的名稱,items
和items1
不使任何意義
使用LINQ的Concat的方法
items.Concat(items1)
這將連接兩個數組在一起,並在項目的末尾添加items1,我希望你想要的項目只有這樣的數組。
它應該適合你:
var items = new string[]{"A"};
var items1 = new string[] { "B" };
var res = new List<string>();
res.AddRange(items);
res.AddRange(items1);
items = res.ToArray();
你的情況的主要問題是在運行時增加items數組的長度。如果您的物品陣列中有足夠的長度,則可以使用:
Array.Copy(items1, 0, items, items.Length, items1.Length);
這是複製string Array
的一個簡單示例。
string[] SourceArray= { "A", "B", "C", "D", "E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S" };
string[] DestArray= new string[8];
Array.Copy(SourceArray, 11, DestArray, 0, 8);
SourceArray
=輸入陣列
11
=起始索引(從其中複製應在源陣列啓動)
DestArray
=是您的陣列,其中所述元件具有要被複制
0
=目的地陣列的起始索引
8
=到陣列中的被複制elemets數
輸出:
{L,M,N,O,P,Q,R,S}
這應該做到這一點:
Array.Resize(ref items, items.Length + items1.Length);
Array.Copy(items1, 0, items, items.Length-items1.Length, items1.Length);
它調整目標數組的大小,items
,足夠大,兩個陣列。 然後它將源數組items1
複製到目標數組末尾新添加的空間。
什麼「不起作用」呢? – CodingIntrigue
你想複製這些元素的位置?你希望'item'從'items1'有* first * 8個元素,或者它應該是* last * 8個元素?或者你想'物品'只包含8個元素? –
哪個版本的.net框架 – TalentTuner