-1

我有数据输入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);

我能做些什么呢?

4

1 回答 1

6

您可以使用 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);
于 2013-08-08T11:07:53.360 回答