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

C# 修改NamePeoples方法返回全量人员数据并筛选闰年出生人员

问题原因

你现有代码的NamePeoples方法在首次进入foreach循环时就直接执行了return,所以永远只返回第一条记录;同时返回值为单个元组,无法存储多条符合条件的结果。另外原有日期解析方法存在格式符错误,会导致带月/日的日期解析异常。

修改方案

  1. 首先在代码开头添加集合引用:
using System.Collections.Generic;
  1. 修复日期解析方法的格式符错误(原小写mm是分钟单位,大写MM才是月份单位):
static DateTime ParseDate(string value)
{
    DateTime date;
    if (!DateTime.TryParseExact(value, "yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
    {
        if (!DateTime.TryParseExact(value, "yyyy-MM", CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
        {
            if (!DateTime.TryParseExact(value, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
            {
                throw new Exception("WRONG FORMAT");
            }
        }
    }
    return date;
}
  1. 重写NamePeoples方法,改为返回多条符合条件的记录,增加闰年判断逻辑:
static List<(string Name, int BirthYear)> NamePeoples(string[][] people)
{
    var result = new List<(string Name, int BirthYear)>();
    foreach (var elements in people)
    {
        DateTime birthdayElement = ParseDate(elements[2]);
        var yearBirthday = birthdayElement.Year;
        // 筛选闰年出生的人员
        if (DateTime.IsLeapYear(yearBirthday))
        {
            result.Add((elements[1], yearBirthday));
        }
    }
    return result;
}
  1. 修改Main方法的输出逻辑,适配多结果返回:
static void Main(string[] args)
{
    var timelineCSV = GetListOfStringsFromTextFile("../../../../timeline.csv");
    var peopleCSV = GetListOfStringsFromTextFile("../../../../people.csv");

    var timeline = ReadData(timelineCSV);
    var people = ReadData(peopleCSV);

    var leapYearPeoples = NamePeoples(people);
    if (leapYearPeoples.Count == 0)
    {
        Console.WriteLine("no");
    }
    else
    {
        foreach (var item in leapYearPeoples)
        {
            Console.WriteLine($"姓名:{item.Name},出生年份:{item.BirthYear}");
        }
    }
}

原有CSV读取逻辑无需修改,ReadData方法已经将所有4条记录完整存入people二维数组变量中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:36:03