【问题标题】:Set all values to one variable in c#在c#中将所有值设置为一个变量
【发布时间】:2013-02-28 19:07:59
【问题描述】:

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

【问题讨论】:

  • 你的意思是你需要跟踪所有的id(而不是一个特定的)。您能否创建一个整数列表并将每个 id 添加到其中。使用 LINQ 更容易,但您不会获得日志记录。
  • @JRoughan,是的,我不会说custid[0] = _response.Customers[0].CustID;,而是一次输入所有ID,这样我就可以一次取消它们。
  • Request.CustID 是什么类型的属性?如果不是集合,您需要为每个客户发送不同的请求。
  • 我很难得到这个,因为这将是一个未知数量的 ID,具体取决于我请求的公司名称。
  • request.company 是从搜索请求发出的另一个请求。不需要更改,我只是保持与其他请求相同。

标签: c# variables request assign


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您可以随时存储所有客户 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的定义吗?

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        这样的?

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-01-10
          • 2018-10-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多