将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分配给稍后在请求中使用的变量?
我不完全清楚您想用上面的代码完成什么。但是,您可以使用一点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;
}
}