【问题标题】:How to convert List<ICollection<Patients>> to IEnumerable<Patients> [duplicate]如何将 List<ICollection<Patients>> 转换为 IEnumerable<Patients> [重复]
【发布时间】:2020-05-06 14:38:15
【问题描述】:

在我的项目中,我有 Medication 类,所以在这个类中它包含 ICollection&lt;Patients&gt; patients 属性。

当我得到列表Medication 时,我也会在Medication 列表对象中得到这些患者。所以现在我想将此列表与Medication 分开并将其传递给一个参数为IEnumerable&lt;patients&gt; 的方法。我尝试了以下代码,但转换返回 null。

  var pharmacyMedications = medications.Select(x => x.PharmacyMedications).ToList();

  var list = pharmacyMedications as IEnumerable<PharmacyMedication>;

这个列表我得到了空。那么有什么方法可以实现这种转换。

【问题讨论】:

    标签: c# linq


    【解决方案1】:

    你想要SelectMany:

    var pharmacyMedications = medications.SelectMany(x=>x.PharmacyMedications).ToList();
    
    var list = pharmacyMedications as IEnumerable<PharmacyMedication>;
    

    【讨论】:

    • 如果您需要IEnumerable,那么调用ToList() 毫无意义——SelectMany 的结果已经是IEnumerable...
    • @ZoharPeled - 我知道,但这就是问题想要做的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 2019-02-08
    相关资源
    最近更新 更多