3

たとえば、3 つのリストがあるとします。

List<int> l1
List<int> l1,l2,l3

3 つのリストすべてに多くのアイテムがあり、それらすべてを 1 つのリストに追加したい

List<int> finalList
finalList.AddRange(l1) , similarly for l2 and l3.

実行中finalList.AddRangeに、l1、l2、l3 からアイテムをコピーしますか、それとも単にそれらのアイテムを参照しますか? コピーする場合、リストが大きいため、 AddRange を使用してメモリを節約したくありません。

4

1 に答える 1

0

データではなく参照をコピーする場合は、整数のリストを次のようなクラスにラップします。

    public class ItemsList
    {
        public List<int> ListOfInts {get; set;}

        public ItemsList()
        {
            ListOfInts = new List<int>();
        }
    }

次に、次のように追加します。

        ItemsList l1 = new ItemsList();
        l1.ListOfInts = new List<int> { 1, 2, 3, 4, 5, 6 };//or whatever data inside

        //same for l2, l3

        List<ItemsList> finalList = new List<ItemsList>();
        finalList.Add(l1);//Your adding references to ItemsList class 

これが役に立ったことを願っています。

于 2017-02-02T06:43:25.697 に答える