Lambda表达式和类方法

时间:2018-02-18 11:58:52

标签: c# class lambda expression

我有这样的问题。

List<Absent> absent = new List<Absent>();
Console.WriteLine("--------------------------");
Console.Write("Please enter a full name> ");
string temp_str = Console.ReadLine();


absent.Where(x => x.Name == temp_str).Run(x = x.WriteConsoleTable());

如何在进行过滤后运行方法? 缺席是一个具有 Name 变量和 WriteConsoleTable 方法的类。

2 个答案:

答案 0 :(得分:2)

好像您正在寻找val copyOfArray = array.copyOf() 扩展方法,但您首先需要在ForEach子句返回的ToList序列上调用IEnumerable。< / p>

Where

或者您可以使用absent.Where(x => x.Name == temp_str) .ToList() .ForEach(x => x.WriteConsoleTable()); 构造迭代集合。

foreach

答案 1 :(得分:0)

您可以尝试以下选项。

var absences = absent.Where(x => x.Name == temp_str);
foreach(var abs in absences)
{
    abs.WriteConsoleTable();
}

或者如果您确定只需要第一场比赛

var absence = absent.FirstOrDefault(x => x.Name == temp_str);
if(absence != null)
{
    absence.WriteConsoleTable();
}