我最近使用此网站获取代码以从对象列表中提取属性值数组(我一次又一次地搜索,无法找到原始帖子或有关更新的帮助:()
结果如下:
qtyArray.AddRange(plan.Components.Select(c => c.qty.HasValue ? (int)c.qty.Value : 0).ToArray());
问题是,我有其他属性我输出到并行数组中以传递给数据源,但更愿意忽略任何错误的“活动”属性。因此,对于所有数组都执行类似上面的操作,但仅限于c.active == true:
plan.Components.Select(c => c.qty.HasValue ? (int)c.qty.Value : 0 **WHERE c.active**)
有人可以帮忙吗?
答案 0 :(得分:3)
这个怎么样:
plan.Components.Where(c => c.active).Select (c => c.qty.HasValue ? (int)c.qty.Value : 0 )
它应该进行必要的过滤。
答案 1 :(得分:0)
plan.Components.Select(c => c.qty.HasValue ? (int)c.qty.Value : 0 && (c.active == null ? false : c.active));
请注意,它会假设如果active为null,则active为false