MST

星途 面试题库

面试题:C# Lambda表达式在集合操作中的复杂应用

假设有一个List<int>类型的集合,包含若干整数。请使用C# Lambda表达式实现以下功能:筛选出集合中的偶数,然后对这些偶数进行平方运算,最后计算这些平方数的总和。请详细说明每一步使用Lambda表达式的逻辑。
32.1万 热度难度
编程语言C#

知识考点

AI 面试

面试题答案

一键面试
  1. 筛选出集合中的偶数: 使用Where方法,Where方法的作用是根据给定的条件对集合进行筛选。在Lambda表达式中,num => num % 2 == 0表示一个谓词,它检查集合中的每个元素num是否为偶数(即num除以2的余数是否为0)。如果是偶数,则该元素会被包含在筛选后的结果集合中。
  2. 对这些偶数进行平方运算: 使用Select方法,Select方法用于对集合中的每个元素应用一个转换操作。这里num => num * num表示对筛选出的每个偶数num进行平方运算,生成一个新的集合,其中每个元素是原来偶数的平方。
  3. 计算这些平方数的总和: 使用Sum方法,Sum方法用于计算集合中所有数值类型元素的总和。它会遍历经过筛选和平方运算后的集合,并将所有元素相加,得到最终的总和。

以下是完整的C#代码示例:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6 };
        int sumOfSquaredEvenNumbers = numbers
           .Where(num => num % 2 == 0)
           .Select(num => num * num)
           .Sum();
        Console.WriteLine(sumOfSquaredEvenNumbers);
    }
}

在上述代码中,numbersList<int>类型的集合,通过链式调用WhereSelectSum方法实现了题目要求的功能。首先通过Where筛选出偶数,接着通过Select对偶数进行平方运算,最后通过Sum计算平方数的总和。