次の構造のオブジェクトがあります:(擬似コード)
class Client
{
- int ID
- int? ParentID
- string Name
- datetime CreateDate
- int ACClientID
- List <Client> Clients }
ALLのACClientIDを値に設定するために、再帰的なforeachを使用してネストされた構造全体をループしたいと思います。
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);
}
}
私の目標を達成するための最も効率的な方法は何でしょうか?
PS:構造を追加または削除するのではなく、ネストされたClientオブジェクトごとに1つの属性を設定するだけです。
[編集] 「foreach」ループでリストを変更するための最良の方法は何ですか?しかし、それは私が必要とする答えを私に提供しません。