使用linq获取包含数组元素的子列表



我已经尝试了这个的各种版本,但我只是离开了某个地方。我正在使用Teleric Raddropdowncheckedlist

var states = stateDropDownList.CheckedItems.ToList();
var filteredStops = (from stop in aDb.Stop_address_details 
                     where states.Contains(stop.Stop_state) select stop).ToList();

States包含IL、AL等数组。以下是来自各州的示例数据-在调试器中,它说各州计数3,它有3个元素0=AZ, 1=IL和2=AL。

stop_address_details包含stop_state字段。

我只需要在状态中包含stop_state的记录。

我没有得到一个结果,因为它不会构建错误:此lambda表达式的参数数量与委托的参数数量不匹配。

解决方案:

var states = stateDropDownList.CheckedItems.Select(i => i.Value.ToString()).ToList();
        var filteredStops = (from stop in aDb.Stop_address_details where states.Contains(stop.Stop_state) select stop).ToList();

原始状态返回的是一个项目数组,而不是字符串。谢谢你的帮助。乔

试试这样写:

var states = stateDropDownList.CheckedItems.Select(i=>i.Value.ToString()).ToList();

i.Value位非常依赖于您正在使用的下拉列表。如果CheckedItems是一个自定义集合类型,也不实现标准接口,则不能保证工作。

相关内容

  • 没有找到相关文章

最新更新