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