gpt4 book ai didi

c# - 循环删除列表中的多个项目...c#

转载 作者:太空宇宙 更新时间:2023-11-03 20:18:06 25 4
gpt4 key购买 nike

我有一个方法可以在数据库中搜索具有相同公司名称的所有客户,然后返回他们的 ID 号列表,现在我将它们保存到一个文本文件中,以便我可以确认它是否有效。

但我遇到的问题是访问该 ID 号列表并返回并删除它们。在下面的代码中,我使用了一个通过 ID 号取消客户的请求。我使用了一个 foreach 循环,它应该获取 ID 列表并将它们全部删除,但它每次只删除一个而不是不同的,它每次都删除相同的,而不是尝试,我只是得到异常说您正在尝试删除已被删除的客户。请就我做错了什么提出任何建议!

SearchRequest _request;
CancelRequest _request2;

SearchResponse _response;
CancelResponse _response2;

public void ArrangeRequest() {
_request=new CustomerSearchRequest();
_request.Company="Test Inc. ";
}
var customerIds=_response.Customers.Select(c => c.CustID).ToList();

foreach(var custID in customerIds) {
_request2=new CancelRequest();
_request2.CustID=custID;
_request2.Company=_request.Company;
}
public void Response() {
var ws=new RunEngine();

_response=ws.SearchCust(new AppHeader(), _request) as SearchResponse;
_response2=ws.CancelCust(new AppHeader(), _request2) as CancelResponse;
}

最佳答案

您正在重用 _request2 字段。不要在字段中存储单个取消请求,而是使用请求列表:

List<CancelRequest> _cancelRequests;

然后创建所有请求并将其添加到此列表:

var customerIds = _response.Customers.Select(c => c.CustID);
_cancelRequests = customerIds.Select(custID => new CancelRequest {
CustID = custID,
Company = _request.Company
}).ToList();

然后一个一个地处理这些请求。

关于c# - 循环删除列表中的多个项目...c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15342669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com