我正在使用实体框架,并希望将IQueryable的元素放入
转换
类型
有
NormalType
作为第一种类型
ConvertedType
作为转换的,“转换”是这样完成的:
NormalType nt = new NormalType (ctInstance);
ConvertedType ct = nt.getConvertedType();
现在,我想将NormalType类型的列表转换为ConvertedType数组
(
IQueryable<NormalType> -> ConvertedType[]
).
我的第一个想法是通过
IQueryable<NormalType>
,将数据放入
List<ConvertedType>
然后使用
ToArray()
方法:
List<ConvertedType> convertedTypeList = new List<ConvertedType>();
foreach(NormalType normalType in normalTypeIQueryable)
{
convertedTypeList.Add(normalType.getConvertedType());
}
ConvertedType[] convertedTypeArray = convertedTypeList.ToArray();
我的第二个想法是使用
ToList()
,
ConvertAll(...)
和
到阵列()
在一个衬垫中:
normalTypeIQueryable.ToList().ConvertAll(n => n.GetConvertedType()).ToArray();
我认为最后一个将通过转换导致不止一个循环。
就性能而言,这两种方式中哪一种更好?还有更好的选择吗?
提前谢谢。
更新:
GetConvertedType()
基于
正常类型(NormalType)
以“深度复制”方式包含。