gpt4 book ai didi

c# - 无法将带有 [] 的索引应用于表达式

转载 作者:行者123 更新时间:2023-11-30 19:06:09 35 4
gpt4 key购买 nike

 var dbPerson = from p in db.People 
where p.Id == PersonId select p;
dbPerson[0].HolidaysRemaining--;

dbPerson[0] 向我抛出一个错误,说不能将 [] 的索引应用于类型为“system.linq.lqueryable,holidayBookingApp.model.person”的表达式>

有人可以告诉我如何解决这个问题吗?

谢谢

最佳答案

LINQ 查询的结果不是 List,它是没有索引器的 IQueryable 的自定义类型。您无法以这种形式随机访问 LINQ 查询的结果。

如果你真的需要,你有多种选择:

  • 将其转换为实现 IList 的东西,例如调用 dbPerson.ToList()
  • 如果您确实只需要第一个元素,请为此目的使用IQueryable 扩展方法:dbPerson.First()
  • 如果您想要一个任意元素作为 [x],请为此目的使用 IQueryable 扩展方法:dbPerson.Skip(x).First()

关于c# - 无法将带有 [] 的索引应用于表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13879416/

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