You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断List<Course>列表中所有元素的CumLaude方法均返回true

实现方案

基于LINQ的最简实现(推荐)

你可以直接使用LINQ提供的All扩展方法完成判断,步骤如下:

  1. 先在代码文件顶部引入LINQ命名空间:
    using System.Linq;
  2. 在DisplayGradeList方法中添加判断逻辑:
public void DisplayGradeList()
{
    // 仅当所有Course实例的CumLaude方法都返回true时,判断条件成立
    if (gradeList.All(course => course.CumLaude()))
    {
        Console.WriteLine("You graduated Cum Laude");
    }

    // 如果你业务上要求成绩列表不能为空才触发该提示(空列表默认All方法返回true),可以替换为下面的判断
    // if (gradeList.Any() && gradeList.All(course => course.CumLaude()))
    // {
    //     Console.WriteLine("You graduated Cum Laude");
    // }
}

All方法会遍历集合元素,只要有一个元素不满足条件就会立刻终止遍历返回false,性能开销和手动循环一致,代码更简洁易读。

不使用LINQ的手动循环实现

如果你的项目环境不允许使用LINQ,可以用基础循环实现相同逻辑:

public void DisplayGradeList()
{
    bool isAllCumLaude = true;
    foreach (var course in gradeList)
    {
        if (!course.CumLaude())
        {
            isAllCumLaude = false;
            break; // 遇到不符合条件的直接跳出循环,不需要继续校验后续元素
        }
    }

    if (isAllCumLaude)
    {
        Console.WriteLine("You graduated Cum Laude");
    }
}

内容的提问来源于stack exchange,提问作者Ignacio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 19:45:04