如何在C#中创建ArrayList的浅表副本?

要在C#中创建ArrayList的浅表副本,代码如下-

示例

using System;
using System.Collections;
public class Demo {
   public static void Main(){
      ArrayList list = new ArrayList();
      list.Add("One");
      list.Add("Two");
      list.Add("Three");
      list.Add("Four");
      list.Add("Five");
      list.Add("Six");
      list.Add("Seven");
      list.Add("Eight");
      Console.WriteLine("ArrayList elements...");
      foreach(string str in list){
         Console.WriteLine(str);
      }
      Console.WriteLine("ArrayList is read-only? = "+list.IsReadOnly);
      Console.WriteLine("Does the element Six in the ArrayList? = "+list.Contains("Six"));
      list.Insert(4, "Twelve");
      Console.WriteLine("\nArrayList elements...UPDATED");
      foreach(string str in list){
         Console.WriteLine(str);
      }
      ArrayList list2 = new ArrayList();
      list2 = (ArrayList)list.Clone();
      Console.WriteLine("\nCloned ArrayList...");
      foreach(string str in list2){
         Console.WriteLine(str);
      }
   }
}

输出结果

这将产生以下输出-

ArrayList elements...
One
Two
Three
Four
Five
Six
Seven
Eight

ArrayList is read-only? = False
Does the element Six in the ArrayList? = True
ArrayList elements...UPDATED
One
Two
Three
Four
Twelve
Five
Six
Seven
Eight

Cloned ArrayList...
One
Two
Three
Four
Twelve
Five
Six
Seven
Eight

示例

现在让我们来看另一个示例-

using System;
using System.Collections;
public class Demo {
   public static void Main(String[] args){
      ArrayList list1 = new ArrayList();
      list1.Add("A");
      list1.Add("B");
      list1.Add("C");
      list1.Add("D");
      list1.Add("E");
      list1.Add("F");
      list1.Add("G");
      list1.Add("H");
      list1.Add("I");
      Console.WriteLine("Elements in ArrayList1...");
      foreach (string res in list1){
         Console.WriteLine(res);
      }
      ArrayList list2 = new ArrayList();
      list2.Add("A");
      list2.Add("B");
      list2.Add("C");
      list2.Add("D");
      list2.Add("E");
      list2.Add("F");
      list2.Add("G");
      list2.Add("H");
      list2.Add("I");
      list2.Add("G");
      list2.Add("I");
      Console.WriteLine("Elements in ArrayList2...");
      foreach (string res in list2){
         Console.WriteLine(res);
      }
      Console.WriteLine("Count of elements in ArrayList2 = " + list2.Count);
      list2.Remove("G");
      Console.WriteLine("Elements in ArrayList2... (UPDATED)");
      foreach (string res in list2){
         Console.WriteLine(res);
      }
      Console.WriteLine("Count of elements in ArrayList2 (Updated) = " + list2.Count);
      ArrayList list3 = new ArrayList();
      list3 = (ArrayList)list2.Clone();
      Console.WriteLine("\nCloned ArrayList from ArrayList2...");
      foreach(string str in list3){
         Console.WriteLine(str);
      }
   }
}

输出结果

这将产生以下输出-

Elements in ArrayList1...
A
B
C
D
E
F
G
H
I
Elements in ArrayList2...
A
B
C
D
E
F
G
H
I
G
I
Count of elements in ArrayList2 = 11 Elements in ArrayList2... (UPDATED)
A
B
C
D
E
F
H
I
G
I
Count of elements in ArrayList2 (Updated) = 10
Cloned ArrayList from ArrayList2...
A
B
C
D
E
F
H
I
G
I