我有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);
我能为此做些什么?
答案 0 :(得分: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);