用于将泛型列表转换为另一个泛型列表的方法

本文关键字:列表 泛型 方法 另一个 转换 用于 | 更新日期: 2023-09-27 18:27:02

我在List<One>中有数据,希望转换为List<Two>。我的代码是

 public static List<T> ListCopy<T>(List<T> input)
    {
        List<T> mylist = new List<T>();
        //Logic Goes here 
        return mylist;
    }

这仅处理从List<One>List<One>的数据但我想像一样从List<One>处理到List<Two>

    List<One> l = new List<One>();
    List<Two> t = new List<Two>();
    t = ListConvert<Two>(l);

我能为此做些什么?

用于将泛型列表转换为另一个泛型列表的方法

您可以使用LINQ来完成此操作,但仍需要提供一个用于转换元素的函数:

public static List<TResult> ListCopy<TSource, TResult>(List<TSource> input, Func<TSource, TResult> convertFunction)
{
    return input.Select(x => convertFunction(x)).ToList();
}

和样品使用(具有简单铸造作为转换功能)

var t = ListConvert(l, x => (Two)x);