c#从列表中多写一项,而不是一项

c#从列表中多写一项,而不是一项,c#,list,C#,List,我有一个关于汽车数据的数据列表 219:32 CEG305 574 8912 1 219:35 CEG304 578 8932 1 像这样,我设法写出了我想要的信息,但它只是写出了许多数据中的一个 public static void work_3() { Console.WriteLine("3_work"); int chosenday = Convert.ToInt32(Console.ReadLine()); C

我有一个关于汽车数据的数据列表
219:32 CEG305 574 8912 1
219:35 CEG304 578 8932 1
像这样,我设法写出了我想要的信息,但它只是写出了许多数据中的一个

public static void work_3()
    {
        Console.WriteLine("3_work");
        int chosenday = Convert.ToInt32(Console.ReadLine());
        Cardatas cdat = Cardata.Find(x => x.Day.Equals(chosenday));
        Console.WriteLine($"The traffic at {chosenday}: {cdat.time.ToShortTimeString()} {cdat.licenseplate}");
    }
private static List Cardata=new List();

使用Linq扩展名
Where
而不是
Find
来获取所有匹配元素,然后在结果可枚举项上循环:

private static List<Cardatas> Cardata= new List<Cardatas>();
IEnumerable allCdats=Cardata.Where(x=>x.Day.Equals(chosenday));
foreach(所有cdat中的Cardatas cdat)
{
WriteLine($“位于{chosenday}:cdat.time.ToShortTimeString()}{cdat.licenseplate}的流量”);
}
注意:对于上述代码,您需要
使用System.Linq
使用System.Collections.Generics

    IEnumerable<Cardatas> allCdats = Cardata.Where(x => x.Day.Equals(chosenday));
    foreach (Cardatas cdat in allCdats)
    {
        Console.WriteLine($"The traffic at {chosenday}: cdat.time.ToShortTimeString()} {cdat.licenseplate}");
    }