首页 / 问答 / C#/.NET/.NET Core应用程序编程开发中如何使用LINQ根据一个List集合的元素顺序排序另一个集合的元素顺序?

C#/.NET/.NET Core应用程序编程开发中如何使用LINQ根据一个List集合的元素顺序排序另一个集合的元素顺序?

.NET C# List 集合 .NET Core 2.8K 次浏览
0

在C#/.NET/.NET Core应用程序编程开发中,怎么样根据一个List集合的元素或者属性值的顺序排序另一个集合的元素顺序?比如,现在有两个集合lsitAlistB,两个集合的模拟数据如下:

var listA = new List<string> { "a", "b", "d", "c" };
var listB = new List<MyClass> {
    new MyClass{Key="c",Value="ccc"},
    new MyClass{Key="a",Value="aaa"},
    new MyClass{Key="d",Value="ddd"},
    new MyClass{Key="b",Value="bbb"}
};

现在需要根据集合listA的顺序来对集合listBKey属性进行排序,应该如何实现呢?

回复 [×]
提交评论
请输入评论内容

5 个回答

  • 0

    使用IEnumerableJoin()方法创建一个静态扩展方法,如下:

    完整示例代码如下:

    输出结果:

    Rector的个人主页

    Rector

    2020-04-18 回答

    • 0

      使用C#/.NET LINQ中的FindIndex()方法,结合OrderBy()可快速地实现两个集合的排序,如下:

      输出结果为:

      Rector的个人主页

      Rector

      2020-04-18 回答

      • 0

        使用IndexOf()方法,如下:

        Rector的个人主页

        Rector

        2020-04-18 回答

        • 0

          使用LINQ的ToLookup()方法,如下:

          调用示例如下:

          Rector的个人主页

          Rector

          2020-04-18 回答

          • 0

            使用LINQ查询语句join...on...来实现,如下:

            完整示例代码如下:

            Rector的个人主页

            Rector

            2020-04-18 回答

            我来回答