这么简单,但我的脑袋却受伤了,我确信在转换时我可以写一行,但是怎么样?
IQueryable<ion> ions =FindAllions();
List<ionFormViewModel> ionFormViewModels = new List<ionFormViewModel>();
foreach (ion ion in ions)
{
ionFormViewModel ionFormViewModel = new ionFormViewModel(ion);
ionFormViewModels.Add(ionFormViewModel);
}
答案 0 :(得分:3)
试试这个:
List<ionFormViewModel> ionFormViewModels
= ions.Select(i => new ionFormViewModel(i)).ToList();
Enumerable.Select
扩展方法允许您为当前序列中的每个值将新值投影到新序列中。基本上,它使您能够从其他序列生成序列,并在其间进行转换。
然后Enumerable.ToList
扩展方法只会根据List<T>
方法生成Select
来创建新的IEnumerable<T>
。
答案 1 :(得分:0)
ionFormViewModels = ions.Select(ion => new ionFormViewModel(ion)).ToList();
答案 2 :(得分:0)
List<ionFormViewModel> ionFormViewModels = ions.Select(i => new ionFormViewModel(i)).ToList()