【问题标题】:IQueryable convert to listIQueryable 转换为列表
【发布时间】:2009-09-28 10:26:37
【问题描述】:

这么简单的东西,可是头疼啊,转换的时候肯定能写在一行,但是怎么写呢?

IQueryable<ion> ions =FindAllions();

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

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

【问题讨论】:

    标签: c# iqueryable


    【解决方案1】:

    试试这个:

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

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

    然后Enumerable.ToList 扩展方法只是从Select 方法的结果IEnumerable&lt;T&gt; 创建一个新的List&lt;T&gt;。

    【讨论】:

      【解决方案2】:
      ionFormViewModels = ions.Select(ion => new ionFormViewModel(ion)).ToList();
      

      【讨论】:

        【解决方案3】:
        List<ionFormViewModel> ionFormViewModels = ions.Select(i => new ionFormViewModel(i)).ToList()
        

        【讨论】:

          猜你喜欢
          • 2020-01-10
          • 1970-01-01
          • 1970-01-01
          • 2016-04-15
          • 2012-02-07
          • 2015-07-30
          • 1970-01-01
          • 2010-12-01
          相关资源
          最近更新 更多