0

我有一个 foreach 语句,将客户 ID 列表输出到日志文件:

foreach(var customer in _response.CustomersList)
{
      log.WriteLine(customer.CustID);
}  

Id 的输出正确,但我遇到的问题是我无法将它们放入一个变量中使用它们。

例如我想提出这个要求:_request2.CustID = customer.CustID但这是不正确的。

我需要这些 ID,因为我有一个取消客户请求:

            public void Cancel()
            {
                _request2 = new CancelCust();
                _request2.CommandUser = _request.CommandUser;      
                _request2.CustID = "This is where I would put the variable that holds the customer ID's"         
                _request2.Company = _request.Company;      
            }

那么,如何将这些 id 分配给稍后在我的请求中使用的变量?

4

4 回答 4

3

我不完全清楚你想用上面的代码完成什么。但是,您可以使用一些LINQ并获取 ID 列表,然后根据需要传递该列表:

var customerIDs = _response.CustomersList.Select(customer => customer.CustID);
于 2013-02-28T19:16:38.217 回答
1

您可以随时存储所有客户 ID:

var customerIds = new List<int>();
foreach (var customer in _response.CustomersList)
{
    customerIds.Add(customer.CustId);
    log.WriteLine(customer.CustID);
}

或通过使用 LINQ

var customerIds = _response.CustomersList.Select(c => c.CustId);

正如我在评论中指出的那样,如果属性 Request.CustId 不是一个集合,这将无助于您一次请求所有这些。你能改变请求的定义吗?

于 2013-02-28T19:17:58.563 回答
0

听起来您的变量_request2.CustID类型错误。你从编译器得到什么错误信息?(或者,您得到的是运行时错误吗?)

于 2013-02-28T19:13:24.350 回答
0

像这样的东西?

public void Cancel()
{
    foreach(var customer in _response.CustomersList)
    {
        _request2 = new CancelCust();
        _request2.CommandUser = _request.CommandUser;      
        _request2.CustID = customer.CustID;         
        _request2.Company = _request.Company;      
    }
} 
于 2013-02-28T19:19:16.213 回答