C# 将元素从一个arraylist移动到另一个arraylist asp.net

C# 将元素从一个arraylist移动到另一个arraylist asp.net,c#,asp.net,arrays,sorting,arraylist,C#,Asp.net,Arrays,Sorting,Arraylist,我有两个arraylist public ArrayList myA = new ArrayList(); public ArrayList myB = new ArrayList(); 当myA中出现新值时,删除myB的旧内容,将旧内容从myA移动到myB中,并在myA中具有新值 例如: myA("value1","value2","value3"); myB("","",""); 新的价值观出现了: myA("value4","value5","value6"); myB("value1

我有两个arraylist

public ArrayList myA = new ArrayList();
public ArrayList myB = new ArrayList();
myA
中出现新值时,删除
myB
的旧内容,将旧内容从
myA
移动到
myB
中,并在
myA
中具有新值

例如:

myA("value1","value2","value3");
myB("","","");
新的价值观出现了:

myA("value4","value5","value6");
myB("value1","value2","value3");
另一个价值观:

myA("value7","value8","value9");
myB("value4","value5","value6");

请帮助我

如果我正确理解了你的意思,这应该可以完成这项工作

// Initial values
        ArrayList myA = new ArrayList() { "value1", "value2", "value3" };
        ArrayList myB = new ArrayList() { "", "", "" };

        // New values
        ArrayList myC = new ArrayList() { "value4", "value5", "value6" };

        // Clear the old values from myB and add the old values of myA to myB
        myB.Clear();
        myB.AddRange(myA);

        // Clear the old values from mya and add the new values to myA
        myA.Clear();
        myA.AddRange(myC);
使用System.IO;
使用制度;
使用System.Collections.Generic;
带有备份的公共类阵列:列表
{
列出带有备份的阵列;
列表备份阵列;
公共阵列WithBackup()
{
arrayWithBackup=新列表();
}
公共void AddStrings(列表输入)
{
if(backupArray!=null&&backupArray.Count>0)
backupArray.Clear();
backupArray=新列表(arrayWithBackup);
arrayWithBackup.Clear();
对于(int i=0;i
您正在运行哪个版本的.net?如果可能,您是否考虑过使用
列表
using System.IO;
using System;
using System.Collections.Generic;

public class ArrayWithBackup : List<String>
{
    List<String> arrayWithBackup;
    List<String> backupArray;
    public ArrayWithBackup()
    {
        arrayWithBackup = new List<string>();
    }

    public void AddStrings(List<String> inputs)
    {
        if (backupArray != null && backupArray.Count > 0)
            backupArray.Clear();

        backupArray = new List<string>(arrayWithBackup);
        arrayWithBackup.Clear();
        for (int i = 0; i < inputs.Count; ++i)
        {
            arrayWithBackup.Add(inputs[i]);
        }
    }

    public void PrintArray()
    {
        Console.WriteLine("Array contains:");
        for(int i = 0; i < arrayWithBackup.Count; ++i)
            Console.WriteLine("Index {0}: {1}", i, arrayWithBackup[i]);
    }

    public void PrintBackupArray()
    {
        Console.WriteLine("BackupArray contains:");
        for (int i = 0; i < backupArray.Count; ++i)
            Console.WriteLine("Index {0}: {1}", i, backupArray[i]);
    }

    public List<String> GetArray()
    {
        return arrayWithBackup;
    }

    public List<String> GetBackupArray()
    {
        return backupArray;
    }
}

public class Test
{
    static void Main(string[] args)
    {
        ArrayWithBackup awb = new ArrayWithBackup();

        List<String> inputs = new List<String>();
        inputs.Add("one");
        inputs.Add("two");
        inputs.Add("three");

        awb.AddStrings(inputs);
        inputs.Clear();

        inputs.Add("four");
        inputs.Add("five");
        inputs.Add("six");
        awb.AddStrings(inputs);

        awb.PrintArray();
        awb.PrintBackupArray();
    }
}

//Output:
//Array contains:
//Index 0: four
//Index 1: five
//Index 2: six

//BackupArray contains:
//Index 0: one
//Index 1: two
//Index 2: three