将所有值设置为c#中的一个变量

时间:2013-02-28 19:08:00

标签: c# variables request assign

我有一个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 个答案:

答案 0 :(得分:3)

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

var customerIDs = _response.CustomersList.Select(customer => customer.CustID);

答案 1 :(得分: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不是一个集合,这将无法帮助您立即请求所有这些。你能改变Request的定义吗?

答案 2 :(得分:0)

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

答案 3 :(得分: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;      
    }
}