c# - C# 中的 ForEach 循环问题

标签 c# loops

我试图包含第二个 foreach 循环来从对象内的列表中提取值,但在尝试执行此操作时遇到问题。

这是代码

private List<Opportunity> CreateOpportunities(Basket basket)
    {
        var opps = new List<Opportunity>();

        foreach (var orderLine in basket.OrderLines)
        {
            opps.Add(new Opportunity()
            **{**
                DelegateList = new Delegates
                {
                    foreach (var delegates in orderLine.DelegatesList)
                    {
                        FirstName = delegates.FirstName,
                        LastName = delegates.LastName,
                        Email = delegates.Email
                    }
                },

                CourseId = new CourseBooking
                {
                    Id = orderLine.CourseId
                },
                Quantity = orderLine.Quantity,
                EventId = new EventBooking
                {
                    Id = orderLine.EventId
                },
                EventItemDecimalPrice = orderLine.Price,

                TaxType = new TaxType
                {
                    Id = 1,
                    Name = "UK VAT",
                    Rate = orderLine.VatRate
                },
                RegionCode = orderLine.RegionId
            });
        }

        return opps;
    }

我需要实现的是 foreach 在每个 orderLine 中循环,然后在该 orderLine 中有一个列表类和一个 foreach 来循环它,拉出值并针对 FirstName、LastName 和 Email 进行声明

目前它不允许我创建 foreach 并收到警告说它需要一个 ;或 foreach 之前的 } 。 任何帮助都会很棒。

编辑:委托(delegate)构造函数:

public class Delegates
{
    [JsonProperty("first_name")]
    public string FirstName { get; set; }
    [JsonProperty("last_name")]
    public string LastName { get; set; }
    [JsonProperty("email")]
    public string Email { get; set; }
}

编辑:机会(DelegateList 类)

public class Opportunity
{
    [JsonProperty("event")]
    public EventBooking EventId { get; set; }
    [JsonProperty("course")]
    public CourseBooking CourseId { get; set; }
    public int Quantity { get; set; }
    /// <summary>
    /// This is the price per person, NOT the total of the opportunity
    /// </summary>
    [JsonProperty("price")]
    public decimal EventItemDecimalPrice { get; set; }

    [JsonProperty("tax_type")]
    public TaxType TaxType { get; set; }

    [JsonIgnore]
    public string RegionCode { get; set; }

    [JsonProperty("delegates")]
    public List<Delegates> DelegateList { get; set; }

}

最佳答案

我认为问题是你在对象初始化中放置了一个for-each循环。您应该在初始化 DelegateList 之前移动内部 for-each 循环。类似的东西-

foreach (var orderLine in basket.OrderLines)
{
    var firstName;
    var lastName;
    var email;

    List<DelegateList> delegates = new List<DelegateList>();

    foreach (var delegates in orderLine.DelegatesList)
    {
        delegates.Add(new Delegates{firstName = delegates.FirstName,lastName = delegates.LastName,email = delegates.Email});
    }

    opps.Add(new Opportunity()
    {//...

然后使用内部循环中上面填充的列表初始化 DelegateList -

DelegateList = delegates;

关于c# - C# 中的 ForEach 循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50230667/

相关文章:

amazon-web-services - 是否可以在 Cloudformation 模板中使用循环和映射来使用不同的 CostFilter 服务制定多个 AWS 预算?

python - 有没有更快的方法来遍历 DataFrame?

r - For Next 循环 - 接收错误

javascript - Javascript For 循环中的第一个表达式 - 逗号是什么?

Python:如何将数据框中的 3 列作为函数中的 3 个单独参数传递并遍历列值

c# - 日期时间本地化。任何标准/最佳实践

c# - 这个 C# 对象初始化程序代码发生了什么?

c# - 如何使用 C# 将整个文件读取为字符串?

c# - 管理员必须重新加载页面才能看到管理功能(关于 cookie 位置的问题)

c# - c#中set obj为null是否需要释放内存?