如何在LINQ中使用foreach循环
本文关键字:foreach 循环 LINQ | 更新日期: 2023-09-27 18:16:07
我在使用LINQ的foreach循环时遇到了一些问题,这是我到目前为止所编写的代码,我想要做的是获得与特定预订相关的客户列表,任何帮助都将不胜感激=]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
namespace BookingCustomers
{
public partial class BookingGuests : System.Web.UI.Page
{
private HotelConferenceEntities datacontext = new HotelConferenceEntities();
private void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
try
{
int id = int.Parse(BookID.Text.ToString());
tblBooking booking = datacontext.tblBookings.SingleOrDefault(x => x.BookingID == id);
tblVenue venue = datacontext.tblVenues.SingleOrDefault(x => x.VenueID == booking.Venue);
List<tblCustomer> customers = new List<tblCustomer>();
List<tblBookingGuest> guests = booking.tblBookingGuests.ToList();
foreach (list<tblBookingGuest> in tblBookingGuest)
{
}
}
您错过了循环变量声明,并且声明的类型是错误的-哦,您使用了错误的顺序。我想这就是你想要的:
foreach (var guest in booking.tblBookingGuests)
{
// Do something with guest
}
注意你的代码行
List<tblBookingGuest> guests = booking.tblBookingGuests.ToList();
是多余的。它将复制预订客人的整个顺序。
您应该直接在foreach
中使用booking.tblBookingGuests
,除非您要修改列表本身而不是其中的项目。(如果你这样做,它不会改变原来的,当然。)
你想要的肯定是:
foreach (tblBookingGuest guest in guests)
{
...
}
我猜您想访问booking变量中所有的tblBookingGuest。
foreach (tblBookingGuest guest in guests)
{
//something
}
请记住,您不能直接在foreach循环中修改来宾列表中的成员。
希望能帮到你。
pure linq:
booking.tblBookingGuests.ToList().ForEach(a =>
{
// Do your stuff
});