list clone - C#

C#
using System;
using System.Linq;
using System.Collections.Generic;
 
public class Example
{
    public static void Main()
    {
        List<string> source = new List<string>() { "A", "B", "C" };
 
        List<string> clonedList = source.ToList();
          Console.WriteLine(String.Join(",", clonedList));
    }
}
 
/*
    Output: A,B,C
*/
static class Extensions
{
    public static IList<T> Clone<T>(this IList<T> listToClone) where T: ICloneable
    {
        return listToClone.Select(item => (T)item.Clone()).ToList();
    }
}
Source

Also in C#: