2011-09-12 3 views
3

Delphi Prism에서 ListBox의 ObjectCollection을 ArrayList에 단일 문으로 지정해야합니다. 지금까지 나는 어떤 해결책도 찾지 못했습니다.ListBox에서 ArrayList로 개체를 단일 문으로 할당하는 방법은 무엇입니까?

델파이에서는 이것이 내가 한 것입니다.

theUser.Groups.Assign(ListBox1.Items); 

그룹은 Delphi Prism의 Delphi 및 ArrayList에서 TList입니다. 델파이 프리즘에서 동일한 작업을 시도하면 다음과 같은 오류가 발생합니다. ArrayList에이 objectcollection을 받아들이는 방법이없는 경우에, 나는 각각을 통해 루프를해야합니다

"Groups.TGroupList"는 표현에서 "theUser.groups.Assign"를 "할당"에 대한 정의를 포함하지 않는 개체를 ListBox 항목에 추가하고 ArrayList에 추가합니다.

어떻게 할 수 있습니까?

미리 감사드립니다. 안된

답변

2

당신은 ArrayListAddRange() 방법을 사용해야합니다.

델파이 코드에 대한 것과 동일합니다 : 기존 목록에 추가해야하지만, 단지 목록에 필요하지 않은 경우

theUser.Groups.Clear(); 
theUser.Groups.AddRange(ListBox1.Items); 
0

, 당신은 또한 사용할 수 LINQ :

lbMyListBox.Items.Cast<String>().ToList(); 

Cast와 같은 잘못된 항목이있는 캐스팅 오류를 호출하는 대신 특정 유형의 항목 만 선택하려는 경우 Cast()에 대한 호출을 OfType()으로 바꿀 수 있습니다.