나는 다음과 같은 구조의 객체가 (의사)편집 목록
class Client
{
- int ID
- int? ParentID
- string Name
- datetime CreateDate
- int ACClientID
- List <Client> Clients }
내가 값으로 ALL의 ACClientID을 설정, 재귀 foreach 문을 사용하여 전체 중첩 된 구조를 통해 루프를 원하는을 .
private static bool AssignToChildren(ref ATBusiness.Objects.Client client, int ACClientID)
{
client.ACClientID = ACClientID;
foreach (ATBusiness.Objects.Client child in client.Clients)
{
AssignToChildren(ref child, ACClientID);
}
}
은 무엇 내 목표를 달성하는 가장 효율적인 방법이 될 것입니다 :
나는 다음이 작동하지 않도록 foreach 문에서 열거는 불변임을 알아?
PS : 난 첨가되지 않거나 단지 매 중첩 클라이언트 객체에 대한 하나 개의 속성을 설정하는 구조로부터 제거하는 단계를 포함한다.
[편집] 내가 What is the best way to modify a list in a 'foreach' loop? 검토 한하지만 내가 필요로하는 답을 나에게 제공하지 않습니다.
곧 테스트 "A 속성 또는 인덱서 아웃 또는 심판 매개 변수로 전달되지 않을 수 있습니다." – callisto
테스트 됨, 예상대로 작동합니다. 고맙습니다! – callisto