您好,我有如下代码。尝试从列表中获取“UnitNo”属性时出现错误:无法从“System.Collections.Generic.IEnumerable>”转换为“System.Collections.Generic.IEqualityComparer”
public class UnitSyncModelSchema
{
public ICollection<UnitBedRequest> UnitBeds { get; set; }
}
public class UnitBedRequest
{
public string UnitNo { get; set; }
}
public static List<UnitSyncModelSchema> GetUnitById()
{
....
return List<UnitSyncModelSchema>;
}
static int Main(string[] args)
{
List<UnitSyncModelSchema> units = GetUnitById();
//got error on this line
var UnitNo = new HashSet<string>(vesUnits.Select(s1 => s1.UnitBeds.Select(s2 => s2.UnitNo)));
}
最佳答案
您需要 SelectMany
而不是 Select
因为 UnitBeds
是一个集合:
var UnitNo = new HashSet<string>(vesUnits.SelectMany(s1 => s1.UnitBeds.Select(s2 => s2.UnitNo)));
关于c# - 无法从 IEnumerable 转换为“System.Collections.Generic.IEqualityComparer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56954812/