gpt4 book ai didi

model-view-controller - 简单的 MVC NerdDinners Lambda

转载 作者:行者123 更新时间:2023-12-04 23:11:07 27 4
gpt4 key购买 nike

在 Microsoft 的 MVC 教程 NerdDinners 中的这段代码中:

public class DinnerRepository {

private NerdDinnerDataContext db = new NerdDinnerDataContext();

//
// Query Methods

public IQueryable<Dinner> FindAllDinners() {
return db.Dinners;
}

public IQueryable<Dinner> FindUpcomingDinners() {
return from dinner in db.Dinners
where dinner.EventDate > DateTime.Now
orderby dinner.EventDate
select dinner;
}

public Dinner GetDinner(int id) {
return db.Dinners.SingleOrDefault(d => d.DinnerID == id);
}

//
// Insert/Delete Methods

public void Add(Dinner dinner) {
db.Dinners.InsertOnSubmit(dinner);
}

public void Delete(Dinner dinner) {
db.RSVPs.DeleteAllOnSubmit(dinner.RSVPs);
db.Dinners.DeleteOnSubmit(dinner);
}

//
// Persistence

public void Save() {
db.SubmitChanges();
}

}



有什么作用:

public Dinner GetDinner(int id) {
return db.Dinners.SingleOrDefault(d => d.DinnerID == id);
}


“d”是什么意思?这段代码是如何工作的?我知道它会带回晚餐,其中 Dinnerid 与函数参数中的 id 匹配。我不明白“d 去……”的意思。我知道这是一个 lambda,但我真的不明白。 “d”是干什么用的?它有什么作用?

这是否可以在没有 lambda 的情况下编写(如何)?

最佳答案

您可能应该阅读 anonymous methods .

基本上,您所指的代码可以编写为匿名方法,而无需这样的 Lamba 语法:

public Dinner GetDinner(int id) {    
return db.Dinners.SingleOrDefault(delegate (Dinner d) {
return d.DinnerID == id;
});
}

关于model-view-controller - 简单的 MVC NerdDinners Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/849900/

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