[英]How to use a foreach loop with LINQ?
我在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)
{
...
}
我想您想访问预订变量中的所有tblBookingGuest。
foreach (tblBookingGuest guest in guests)
{
//something
}
请记住,您不能直接将来宾列表的成员修改为foreach循环。
希望它能有所帮助。
纯linq怎么样:
booking.tblBookingGuests.ToList().ForEach(a =>
{
// Do your stuff
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.