📜  使用 OrderBy() 方法演示 LINQ Intersect() 方法示例的 C# 程序

📅  最后修改于: 2022-05-13 01:55:41.151000             🧑  作者: Mango

使用 OrderBy() 方法演示 LINQ Intersect() 方法示例的 C# 程序

LINQ 被称为语言集成查询,它是在 .NET 3.5 中引入的。它为 .NET 语言提供了创建查询以从数据源检索数据的能力。在本文中,我们将演示 LINQ intersect() 方法与 OrderBy() 方法的示例。

1. intersect() 方法用于从两个给定列表中获取公共元素。或者我们可以说这个方法返回两个列表的交集。它在 Queryable 和 Enumerable 类中都可用。

语法

data1.Intersect(data2)

其中 data1 是第一个列表,data2 是第二个列表。

2. OrderBy() 方法此方法的唯一目的是按升序对给定的元素列表进行排序。当您使用此方法编写 LINQ 查询时,您无需编写额外的条件来按升序对数组进行排序。

语法

data1.OrderBy(i => i)

其中 i 是迭代器。

现在,我们将 intersect() 和 OrderBy() 方法结合起来,首先使用 intersect()函数获取公共元素,然后从结果中使用 OrderBy()函数按升序获取数据并使用迭代器。为此,我们使用以下查询:

data1.Intersect(data2).OrderBy(i => i);

其中 data1 是第一个列表,data2 是第二个列表

示例

Input: { 10, 20, 30, 40, 50, 60, 70 }
       { 50, 60, 70, 80, 90, 100 }
Output:
50 
60 
70 

Input: { 10, 20, 30 }
       { 50, 60, 70 }
Output:
No Output

方法:

1.创建并初始化两个整数类型列表,分别命名为 data1 和 data2。

2.现在我们使用下面的查询从这些列表中找到共同的元素,然后按升序对它们进行排序。

final = data1.Intersect(data2).OrderBy(i => i);

3.使用 foreach 循环迭代结果。

foreach (var j in final)
{
    Console.WriteLine(j + " ");
}

例子:

C#
// C# program to illustrate how to use Intersect() method
// with OrderBy() method in LINQ
using System;
using System.Linq;
using System.Collections.Generic;
  
class GFG{
      
static void Main(string[] args)
{
      
    // Create first list
    List data1 = new List(){
        10, 20, 30, 40, 50, 60, 70 };
          
    // Create second list
    List data2 = new List() {
        50, 60, 70, 80, 90, 100 };
  
    // Finding the intersection of two lists and
    // then order them in ascending order.
    var final = data1.Intersect(data2).OrderBy(i => i);
  
    // Display the numbers
    Console.WriteLine("Final Result is: ");
    foreach(var j in final)
    {
        Console.WriteLine(j + " ");
    }
}
}


输出:

Final Result is: 
50 
60 
70