C# 如何在LINQ中使用foreach循环?

C# 如何在LINQ中使用foreach循环?,c#,linq,foreach,C#,Linq,Foreach,我在使用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; nam

我在使用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)
                    {



                    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
使用System.Data.SqlClient;
命名空间预订客户
{
公共部分类预订来宾:System.Web.UI.Page
{
private HotelConferenceEntities datacontext=新建HotelConferenceEntities();
私有无效页面加载(对象发送方,事件参数e)
{
如果(第IsPostBack页)
{
尝试
{
int id=int.Parse(BookID.Text.ToString());
tblBooking booking=datacontext.tblBookings.SingleOrDefault(x=>x.BookingID==id);
tblVenue场馆=datacontext.tblVenues.SingleOrDefault(x=>x.VenueID==booking.venue);
列出客户=新列表();
List guests=booking.tblBookingGuests.ToList();
foreach(tblBookingGuest中的列表)
{
}
}

您缺少循环变量声明,声明的类型错误-哦,您使用了错误的序列。我想这就是您想要的:

foreach (var guest in booking.tblBookingGuests)
{
    // Do something with guest
}
请注意,您的代码行

List<tblBookingGuest> guests = booking.tblBookingGuests.ToList();
List guests=booking.tblBookingGuests.ToList();
这是多余的。它将复制整个预定顺序的客人


您应该直接在
foreach
中使用
booking.tblBookingGuests
,除非您要修改列表本身而不是其中的项目。(如果您这样做,当然不会更改原始列表。)

您缺少循环变量声明,声明的类型错误-哦,您使用了错误的序列。我想这就是您想要的:

foreach (var guest in booking.tblBookingGuests)
{
    // Do something with guest
}
请注意,您的代码行

List<tblBookingGuest> guests = booking.tblBookingGuests.ToList();
List guests=booking.tblBookingGuests.ToList();
这是多余的。它将复制整个预定顺序的客人


您应该直接在
foreach
中使用
booking.tblBookingGuests
,除非您要修改列表本身而不是其中的项目。(如果您这样做,当然不会更改原始内容)。

当然您需要的是:

foreach (tblBookingGuest guest in guests)
{
  ...
}

当然,你想要的是:

foreach (tblBookingGuest guest in guests)
{
  ...
}

我猜您希望访问booking变量中的所有tblBookingGuest

foreach (tblBookingGuest guest in guests)
{
 //something
}
请记住,您不能直接将来宾列表的成员修改到foreach循环中


希望能有所帮助。

我猜您希望访问booking变量中的所有tblBookingGuest

foreach (tblBookingGuest guest in guests)
{
 //something
}
请记住,您不能直接将来宾列表的成员修改到foreach循环中

希望能有所帮助。

纯linq怎么样:

    booking.tblBookingGuests.ToList().ForEach(a =>
    {
        // Do your stuff
    });
纯林克怎么样

    booking.tblBookingGuests.ToList().ForEach(a =>
    {
        // Do your stuff
    });


我刚刚尝试了这个Matthew,但我从Visual Studio得到一个错误,它说BookingCustomers.tblBookingGuest是一种类型,但使用起来像'variable@ReeceCottam我想我可能已经让忍者编辑了我的回复。它现在可以工作了吗?对一些人来说是多余的,对其他人来说更可读和可维护,至于速度,编译器优化器很可能会生成id这两个都是诱人的代码。@PaulZahra你似乎不明白我在说什么。
.ToList()
将制作整个序列的副本,这是多余的。难道你看不到
ToList()吗
在最后?在你列举之前,你不需要在
列表中复制一个完整的序列!当然…我的糟糕…今天有点忙着买房…注意其他地方…我只想到foreach语句是诚实的我刚刚尝试了这个Matthew,我从Visual Studio得到一个错误,说BookingCustomers.tblBookingGuest是一种类型,但使用起来像'variable@ReeceCottam我想我可能让忍者编辑了我的回复。它现在可以工作了吗?对一些人来说是多余的,对其他人来说更可读和更易于维护,至于速度,编译器优化器很可能会为这两个版本生成相同的代码。@PaulZahra你似乎不明白我在说什么
.ToList()
将制作序列的完整副本,这是多余的。您看不到
ToList()吗
最后是什么?在你列举之前,你不需要在
列表中复制一个完整的序列!当然…我的糟糕…今天有点忙着买房…注意其他地方…我只想到foreach声明是诚实的这是这个论坛中的相关线程
有一些问题。
。好的,让我们来看看我打开心灵感应模式,猜猜哪个问题完全不清楚。您是否试图从来宾中检索所有客户?如何从选定的来宾项目中检索客户?是否具有功能/属性?获取与特定预订相关的客户列表这不是关于如何使用
foreach
!这是ab了解如何查询。为此,我们需要查看您的类模型。这是本论坛中的相关线程
有一些问题
。好的,让我打开心灵感应模式,猜一猜问题完全不清楚。您是否正在尝试从来宾检索所有客户?如何从选定的来宾项目检索客户?H因为它的功能/属性?获取与特定预订相关联的客户列表这不是关于如何使用
foreach
!这是关于如何查询。为此,我们需要查看您的类模型。Paul回答这个问题时,我得到了一个不同的错误,指出foreach语句都需要类型和标识符哦,别管它了!我没有给tblbookingGuest指定一个名字,我现在已经把它整理好了=D非常感谢!也许空/空列表测试不会出错,因为没有任何预订。另外,不客气。请回答这个问题