gpt4 book ai didi

c# - 在 lambda 表达式中分配局部变量

转载 作者:太空宇宙 更新时间:2023-11-03 20:11:03 25 4
gpt4 key购买 nike

我有一个 lambda 表达式,其中需要分配一个局部变量以避免每个结果集调用我的 RetrieveAge(Datetime birthDate) 两次。

我的 lambda 表达式如下所示:

result = myList.AsEnumerable().Where(f => DateHelper.RetrieveAge(f.Birthdate) >= 20 && DateHelper.RetrieveAge(f.Birthdate) <= 40).Select(x => new Person { Name = x.Name, Id = x.Id, Alias = x.Alias }).ToList();

我正在努力实现如下目标:

var result = myList.AsEnumerable().Where(f => { var age = DateHelper.RetrieveAge(f.Birthdate); age >= 20 && age <= 40 }).Select(x => new Person { Name = x.Name, Id = x.Id, Alias = x.Alias }).ToList();

但我不知道如何正确地做到这一点。任何提示或建议将不胜感激。

最佳答案

您快完成了 - 您需要添加一个 return 和一个分号:

var result = myList
.AsEnumerable()
.Where(f => {
var age = DateHelper.RetrieveAge(f.Birthdate);
return age >= 20 && age <= 40; // <<== Here
}).Select(x => new Person {
Name = x.Name, Id = x.Id, Alias = x.Alias }
).ToList();

关于c# - 在 lambda 表达式中分配局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20030358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com