How to create a shallow copy of ArrayList in C#?


To create a shallow copy of ArrayList in C#, the code is as follows −

Example

 Live Demo

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("
ArrayList elements...UPDATED");       foreach(string str in list){          Console.WriteLine(str);       }       ArrayList list2 = new ArrayList();       list2 = (ArrayList)list.Clone();       Console.WriteLine("
Cloned ArrayList...");       foreach(string str in list2){          Console.WriteLine(str);       }    } }

Output

This will produce the following output −

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

Example

Let us now see another example −

 Live Demo

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("
Cloned ArrayList from ArrayList2...");       foreach(string str in list3){          Console.WriteLine(str);       }    } }

Output

This will produce the following output −

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

Updated on: 11-Dec-2019

152 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements