【问题标题】:Move elements from one arraylist to another arraylist asp .net将元素从一个arraylist移动​​到另一个arraylist asp .net
【发布时间】:2014-03-18 00:33:19
【问题描述】:

我有两个数组列表

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");

请帮帮我

【问题讨论】:

  • 您运行的是哪个版本的 .net?如果可能,您是否考虑过使用List<T>

标签: c# asp.net arrays sorting arraylist


【解决方案1】:

如果我理解正确,这应该可以完成工作

// 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);

【讨论】:

    【解决方案2】:
    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
    

    【讨论】:

      猜你喜欢
      • 2015-03-07
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      • 2010-10-06
      • 2018-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多