2011-08-04 5 views
0

목록 상자의 모든 선택된 항목을 가져온 다음 int [] 배열 안에 삽입해야합니다.create int [] listbox multiselect

int[] status = new int[] { 0 };     
foreach (ListItem Status in lstFiltro.Items) 
{ 
    if (Status.Selected == true) 
    { 
    status[] = Convert.ToInt32(Status.Value); 
    } 
} 
+0

무엇이 문제입니까? –

+0

Winforms? WPF? 또한 선택된 INDEX를 배열 안에 넣고 싶습니까? 아니면 다른 가치? –

+0

값만 입력해야합니다. – soamazing

답변

1

for 루프를 사용하면 목록에 항목을 추가하는 것이 좋습니다 (더 쉬울 것입니다). 또는 .Net 3.5 이상을 사용한다고 가정하면이 작업을 수행 할 수 있습니다.

using System.Linq; 
.... 
var status = lstFiltro.Items.Where(s => s.Selected) 
          .Select(s => Convert.ToInt32(s.Value) 
          .ToArray(); 
+0

오류 'System.Web.UI.WebControls.ListItemCollection'에 'Where'및 확장 메서드 없음에 대한 정의가 포함되어 있지 않습니다. 'System.Web.UI.WebControls.ListItemCollection'형식의 첫 번째 인수를 수락하는 'Where' (사용 지시문이나 어셈블리 참조가 누락 되었습니까? – soamazing

+0

@soamazing : IEnumerable이므로이 작업을 수행 할 수 있어야합니다. 방금 추가 한'using' 행을 추가해야 할 수도 있습니다. –

+0

Linq를 사용하는 내 응용 프로그램, .하지만 아이디 doent 작업 – soamazing