1

这么简单的事情,但是我的头很疼,我确信我可以在转换时将它写在一行中,但是如何呢?

IQueryable<ion> ions =FindAllions();

List<ionFormViewModel> ionFormViewModels = new List<ionFormViewModel>();

foreach (ion ion in ions)
{
     ionFormViewModel ionFormViewModel = new ionFormViewModel(ion);
     ionFormViewModels.Add(ionFormViewModel);
}
4

3 回答 3

3

试试这个:

List<ionFormViewModel> ionFormViewModels
    = ions.Select(i => new ionFormViewModel(i)).ToList();

Enumerable.Select扩展方法允许您为当前序列中的每个值将新值投影到新序列中。基本上,它使您能够从其他序列生成序列,中间有一个转换步骤。

然后Enumerable.ToList扩展方法简单地List<T>Select方法的结果创建一个新的IEnumerable<T>

于 2009-09-28T10:28:55.360 回答
0
ionFormViewModels = ions.Select(ion => new ionFormViewModel(ion)).ToList();
于 2009-09-28T10:29:34.933 回答
0
List<ionFormViewModel> ionFormViewModels = ions.Select(i => new ionFormViewModel(i)).ToList()
于 2009-09-28T10:29:43.783 回答