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

本文关键字:变量 一个 设置 | 更新日期: 2023-09-27 18:01:48

我有一个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分配给稍后在请求中使用的变量?

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

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

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

您可以通过随时存储它们来获取所有客户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的定义吗?

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

像这样?

public void Cancel()
{
    foreach(var customer in _response.CustomersList)
    {
        _request2 = new CancelCust();
        _request2.CommandUser = _request.CommandUser;      
        _request2.CustID = customer.CustID;         
        _request2.Company = _request.Company;      
    }
}