📜  使用 LINQ 查找偶数索引的 C# 程序

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

使用 LINQ 查找偶数索引的 C# 程序

给定一个数组,现在我们的任务是使用 LINQ 查找给定数组中存在的偶数的索引值。 LINQ 被称为语言集成查询,是在 .NET 3.5 中引入的。它赋予 .NET 语言生成查询以从数据源检索数据的能力。因此,为了完成这项任务,我们使用 LINQ 的 select() 和 where() 方法。

例子:

Input  : { 2, 3, 4, 5, 11 }
Output : Index:0 - Number: 2
         Index:2 - Number: 4
         
Input  : { 2, 3, 4, 5, 6, 23, 31 }
Output : Index:0 - Number: 2
         Index:2 - Number: 4
         Index:4 - Number: 6

方法:

1.创建一个整数类型的列表并向其中添加元素。

2.获取列表中数字的索引。

var indexdata = data.Select((val, indexvalue) => new
                    { 
                        Data = val, 
                        IndexPosition = indexvalue
                    }).Where(n => n.Data % 2 == 0).Select(
                    result => new 
                    { 
                        Number = result.Data,
                        IndexPosition = result.IndexPosition 
                    });

3.显示索引和数字。

foreach (var i in indexdata)
{
    Console.WriteLine("Index:" + i.IndexPosition + 
                      " - Number: " + i.Number);
}

例子:

C#
// C# program to find the index value of
// the even numbers using LINQ
using System;
using System.Collections.Generic;
using System.Linq;
  
class GfG{
      
static void Main(string[] args)
{
      
    // Creating a list of integer type
    List data = new List();
      
    // Add elements to the list
    data.Add(2);
    data.Add(3);
    data.Add(4);
    data.Add(5);
    data.Add(6);
    data.Add(12);
    data.Add(11);
  
    // Get the index of numbers
    var indexdata = data.Select((val, indexvalue) => new
                    { 
                        Data = val, 
                        IndexPosition = indexvalue
                    }).Where(n => n.Data % 2 == 0).Select(
                    result => new 
                    { 
                        Number = result.Data,
                        IndexPosition = result.IndexPosition 
                    });
                      
    // Display the index and numbers
    // of the even numbers from the array
    foreach(var i in indexdata)
    {
        Console.WriteLine("Index Value:" + i.IndexPosition + 
                          " - Even Number: " + i.Number);
    }
}
}


输出:

Index Value:0 - Even Number: 2
Index Value:2 - Even Number: 4
Index Value:4 - Even Number: 6
Index Value:5 - Even Number: 12