C# 将元素从一个arraylist移动到另一个arraylist asp.net
我有两个arraylistC# 将元素从一个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
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