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}");
}