簡體   English   中英

使用linq獲取包含數組元素的子列表

[英]use linq to get a sub list that contains elements from an array

我已經嘗試過各種版本,但是我就在某個地方。 我正在使用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();

狀態包含一個IL,AL等數組。這是來自狀態的樣本數據-在調試器中它說狀態計數為3,它具有3個元素0 = AZ,1 = IL和2 = AL。

stop_address_details包含字段stop_state。

我只需要在狀態中包含stop_state的記錄。

我沒有得到結果,因為它不會生成-錯誤:此lamda表達式的參數數量與委托的參數數量不匹配。

解:

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位很大程度上取決於您使用的DropDownList。 如果CheckedItems是也不實現標准接口的自定義集合類型,則也不保證能正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM