【问题标题】:How to get List<> based on ID of another List<> c# MVC 4如何根据另一个 List<> c# MVC 4 的 ID 获取 List<>
【发布时间】:2016-01-31 07:39:20
【问题描述】:

我的问题是我无法根据我的另一个主列表的ID 过滤子列表。我有 2 个列表,List&lt;main&gt;List&lt;sub&gt; sub 列表包含主要的 id

到目前为止,我已经完成了

@foreach (var main in Model.main_lst)
{
    var FilterdList =  Model.sub_lst.Where(
         x => Model.main_lst.Any(y => y.id == main.id))
    <table>
        @foreach (var sub in FilterdList)
        {
            <tr>
                <td>@Html.DisplayFor(modelItem => sub.Name)</td>
            </tr>
        }
    </table>
}

请帮帮我

【问题讨论】:

    标签: c# list asp.net-mvc-4


    【解决方案1】:

    我认为您正在寻找的可以通过

    来实现
     var FilterdList =  Model.sub_lst.Where(x => x.id==main.id);
    

    它将为您提供子列表中的记录列表,这些记录与您的外部循环中的主列表具有相同的 id。

    【讨论】:

    • 该问题要求提供一个通用列表作为结果。这不这样做。最后需要一个.ToList() 电话。如果不需要通用列表,那么代码就可以了。
    【解决方案2】:

    给你,

    var FilterdList =  Model.sub_ls
                          .Where(x => Model.main_lst.Any(y => y.id == x.id)).ToList();
    

    将为您提供两个列表中的共同元素。

    【讨论】:

    • 该问题要求提供一个通用列表作为结果。这不这样做。最后需要一个.ToList() 电话。如果不需要通用列表,那么代码就可以了。
    • +1,我支持它,谢谢 :) OP 的要求似乎并不需要一个通用列表。
    • 标题说是How to get List&lt;&gt; based on ID of another List&lt;&gt; c# MVC 4 但是如果你看一下代码就没有必要了。这只是我认为您应该在回答中解决的问题。一个简单的句子说“尽管您在问题中要求列出一个列表,但没有必要,因为任何 IEnumerable 都应该足够了”将是一个很好的解释。
    猜你喜欢
    • 1970-01-01
    • 2020-06-30
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多