tworzenie wielu zmiennych w pętli foreach

0

Próbuję napisać kod, który wyszukuje spośród wielu struktur te o określonym typie, ich ilość jest nieznana, a potem przetwarza te wyszukane struktury tworząc nowe. Jak to robię, to niestety w końcowym wyniku mam tylko jedną nową strukturę. Wiem, że powinno ich być dwie w przykładzie, na którym to testuję. Po pierwszym przejściu przez pętlę tworzy się pierwsza nowa struktura, ale drugie przejście przez pętlę korzysta z tej samej nazwy struktury i ją nadpisuje. Jak tego uniknąć?
Przepraszam, jeśli zrobię literówkę w kodzie, ale pracuję zdalnie na komputerze, który nie ma internetu i nie mogę skopiować.

StructureSet ss = contex.StructureSet;
Structure newtarget = ss.AddStructure( "PTV", "AutoPTV");
foreach (Structure ctv in ss.Structure.Where(x => x.DicomType =="CTV"))
{
newtarget.SegmentVolume = ctv.SegmentVolume.Margin(5);
}
0

To się zbiera do listy.

List<Structure > list = new List<Structure >();
foreach (Structure ctv in ss.Structure.Where(x => x.DicomType =="CTV"))
{
    list.Add( ctv.SegmentVolume.Margin(5) );
}


Dodam, że zamiar Twojego kodu jest dla mnie zupełnie nieczytelny / niezrozumiały. Można domyślać się wklejki z chaotycznych źródeł itd
Np jeśli jakiś "newtarget" oczekuje i tak jednej sztuki, to co mu poradzisz.
Umyka ci, że zmienne to referencje itd...

Cięzko Ci będzie z większym projektem, jeśli nie jesteś płynny z elementarzem (bo lista jest nim)

EDIT: mój fragment pewnie dał by się napisać w jednym wyrażeniu, hipotetycznie coś w rodzaju AddAll czy czegoś takiego, ale nie rozumiem co jest do czego itd.

0

Nie rozumiem za bardzo tego kodu, ale nie powinno być tak sądząc po nazewnictwie?

StructureSet ss = contex.StructureSet;
var CTVelements = ss.Structure.Where(x => x.DicomType =="CTV");
foreach (Structure ctv in CTVelements )
{
     Structure newtarget = ss.AddStructure( "PTV", "AutoPTV");
     newtarget.SegmentVolume = ctv.SegmentVolume.Margin(5);
}

Zakładamy, że StructureSet.AddStructure Dodaje element Structure do StructureSet oraz zwraca utworzony Structure

1 użytkowników online, w tym zalogowanych: 0, gości: 1