How do I clone a generic list in C#?

前端 未结 26 2760
失恋的感觉
失恋的感觉 2020-11-22 01:27

I have a generic list of objects in C#, and wish to clone the list. The items within the list are cloneable, but there doesn\'t seem to be an option to do list.Clone()

26条回答
  •  被撕碎了的回忆
    2020-11-22 02:08

    Using a cast may be helpful, in this case, for a shallow copy:

    IList CloneList(IList list)
    {
        IList result;
        result = (IList)Activator.CreateInstance(list.GetType());
        foreach (object item in list) result.Add(item);
        return result;
    }
    

    applied to generic list:

    List Clone(List argument) => (List)CloneList(argument);
    

提交回复
热议问题