This program introduces the static Extensions class and the ToList generic method inside that class. ToList is a generic extension method—it has a type parameter.
Detail The "this" modifier is used on the ArrayList argument to specify that the method is an extension.
And Inside ToList, we allocate a List with the correct capacity, and then copy each element.
Detail We test the ToList method on an ArrayList instance. You can see that the method works correctly for the List of ints.
using System;
using System.Collections;
using System.Collections.Generic;
static class Extensions
{
/// <summary>/// Convert ArrayList to List./// </summary>
public static List<T> ToList<T>(this ArrayList arrayList)
{
List<T> list = new List<T>(arrayList.Count);
foreach (T instance in arrayList)
{
list.Add(instance);
}
return list;
}
}
class Program
{
static void Main()
{
// Create ArrayList.
ArrayList arrayList = new ArrayList();
arrayList.Add(1);
arrayList.Add(2);
arrayList.Add(3);
// Use extension method.
List<int> list = arrayList.ToList<int>();
foreach (int value in list)
{
Console.WriteLine(value);
}
}
}1
2
3
Notes, testing. I also tested the method using string literals in the ArrayList and it worked correctly. Just change the type of the local variables in the program.
A summary. With ToList we converted an ArrayList to a List. Another approach is to convert the ArrayList to an Array, and then use the new List constructor with that Array as the parameter.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Sep 3, 2022 (rewrite).