你好,我一直在努力試圖通過其索引切換2整數列表中的元素。 我的第一個列表和第二個列表具有以下值。列表之間的交換元素
list1 = {8, 2, 5, 1, 1}
list2 = {3, 4, 1, 7, 4}
我想切換兩個列表中的前3個元素,並得到這樣的輸出。
list1 = {3, 4, 1, 1, 1}
list2 = {8, 2, 5, 7, 4}
這裏是我到目前爲止的代碼:
List<int> list1 = new List<int>();
List<int> list2 = new List<int>();
list1.Add(8);
list1.Add(2);
list1.Add(5);
list1.Add(1);
list1.Add(1);
list2.Add(3);
list2.Add(4);
list2.Add(1);
list2.Add(7);
list2.Add(4);
int index = 3;
var firstPairItems = list1.Take(index);
var secondPairItems = list2.Take(index);
list1.InsertRange(indexPairs,secondPairItems);
list2.InsertRange(indexPairs, firstPairItems);
我覺得我在正確的軌道上,但不是在第一個3指數更換它,它的指數排序的增加值。立即輸出列表1-
list1 = {8, 2, 5, 3, 4, 1, 1, 1 }
任何建議,以另一種可靠的方式來解決它。
只是一個建議:用'名單列表1 =新名單(){8,2,5, 1,1};''和'List list2 = new List (){3,4,1,7,4};'初始化您的列表 –
您誤解了Take的用法。說'.Take(3)'給你一個封裝器,當你枚舉('foreach')時,它將產生列表的前3個元素。它不會修改(從中刪除)基礎列表。 –