2016-04-10 19 views
0

Formülümdeki arraylist'i tanımladım, form doldurucuyu kullanarak doldurun ve form 3'ü doldurun. Ancak, iç dizinin boyutunun kullanıcı tarafından tanımlanmasını istiyorum. Bunu yapmayı nasıl yaparım?C# Bir arraylist içinde bulunan bir dizinin boyutunun tanımlanması

Şimdilik buna benziyor ama işe yaramıyor.

private void bCapturar2_Click(object sender, EventArgs e) 
{ 
    int k=0; 
    k=int.Parse(textBox1.Text); 
    ((paciente)Datos[i]).num_asist = k; 
    lAsistentes.Visible = true; 
    tbNom_Asist.Visible = true; 
    ((paciente)Datos[i]).asistentes = new string[((paciente)Datos[i]).num_asist]; 
    bCapturar2.Visible = false; 
} 
+0

asistentes'in bir ArrayList olduğunu varsayarak, bir dizi dizi ArrayList'in bir alt sınıfı olmadığından anlamlıdır, o zaman "örtülü olarak tür değiştiremezsiniz" dizesini [] ',' System.Collections.ArrayList ''. Neyi başarmaya çalışıyorsun? – derloopkat

+1

Liste 'un kullanıma sunulmasından beri ArrayList'in fazla kullanılmadığını belirtmek gerekir. – NPSF3000

cevap

1

Sen asistentes bir ArrayList olan

var tenItemArrayList = new ArrayList(10); 

, yine kapasite bu şekilde değerini değiştirebilir bildiriminde üzerinde ArrayList'deki kapasitesini ayarlayabilirsiniz ...

((paciente)Datos[i]).asistentes.Capacity = ((paciente)Datos[i]).num_asist; 

Bununla birlikte, yeni kapasite akımdan daha az olamaz. Aksi takdirde bir istisna alacaksınız.

+0

Asistentes bir arraylist içinde bulunan bir dizi dizidir, asistentes boyutu kullanıcı tarafından belirlenir. –

+0

Kapasite ayarı önceden ArrayList'inizi daha verimli hale getirir. Kapasiteyi aştıktan sonra öğeler eklemeye devam ederseniz, hala çalışır, ancak koleksiyonun tamamı her seferinde tekrar kopyalanır ve oluşturulur. – derloopkat

İlgili konular