从一个数组列表插入/添加到两个数组列表
问题描述:
我正在寻找一种方法将arraylist
插入到两个不同的arraylist
中,并使用相同数量的项目。 为例:从一个数组列表插入/添加到两个数组列表
我有ArrayList中这样的事情
ArrayList mainArrayList = new ArrayList {1, 2, 3,4,5,6};
所以我从mainArrayList要插入成两个的ArrayList(arraylist1和ArrayList 2)
这就是我期待有两个数组列表:
ArrayList arrayList1 = new ArrayList {1, 2, 3};
ArrayList arrayList2 = new ArrayList {4, 5, 6};
我可以通过for loop
做,但我相信有这样做的更好。
for (int i = 0; i < mainArrayList.Count; i++)
{
if(arraylist1.Count <3) {
arrayList1.Add(mainArrayList[i]);
}
if(arrayList1.Count >3)
{
arrayList2.Add(mainArrayList[i]);
}
}
答
使用GetRange(from, length)
ArrayList mainArrayList = new ArrayList { 1, 2, 3, 4, 5, 6 };
ArrayList arrayList1 = mainArrayList.GetRange(0, 3);
ArrayList arrayList2 = mainArrayList.GetRange(3, 3);
答
使用List<T>
代替ArrayList
这是一个旧的非通用容器。然后你可以使用GetRange()
:
List<int> mainList = new List<int> {1, 2, 3, 4, 5, 6};
List<int> list1 = mainList.GetRange(0, 3);
List<int> list2 = mainList.GetRange(3, 3);
首先,不要用'ArrayList',使用'名单',其中'T'是存储类型一旦你这样做(在这种情况下'int'。) ,你可以使用LINQ'Concat()'方法得到你想要的:'mainList = firstList.Concat(secondList).ToList();' –
dlev
2013-05-04 00:11:40
我更新了我的问题......我想你对我的问题感到困惑。所以我正在寻找的是从主要数据我想要两个arraylist或列表与它在我的情况firstlist 1,2,3和第二列表4,5,6 - 希望我有道理。 – 2013-05-04 00:19:32