Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Array di oggetti
martedì 06 giugno 2006 - 09.51
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
kiara83
Profilo
| Junior Member
90
messaggi | Data Invio:
mar 6 giu 2006 - 09:51
Qualcuno sa come si crea un array di oggetti in c#, sempre che sia possibile?
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
mar 6 giu 2006 - 10:13
Credo per oggetti intenda "controlli" vero?
In ogni caso ogni oggetto (classe) è un "tipo".
La sintassi pertanto per definire un array è sempre la stessa.
TextBox[] textBoxes = new TextBox[10];
kiara83
Profilo
| Junior Member
90
messaggi | Data Invio:
mar 6 giu 2006 - 10:30
scusa, hai ragione mi sono spiegata male, quello che voglio fare è creare un array di dimensioni variabili, ogni volta che faccio un drag & drop mi aggiunge un elemento, che contiene oggetti facenti parte della classe PropImmagini che ho creato.
Non so come fare a creare un array dinamico.
Ogni volta che faccio drag&drop mi aggiunge un elemento all'array, se non ho ancora elementi lo deve creare. Ma non so bene come va messo.
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
mar 6 giu 2006 - 10:38
Su C# non esiste la possibilità di ridimensionare gli array.
Per i tuoi scopi puoi usare una collection (arraylist, sortedlist, ecc) oppure ridimensionare gli array "a mano".
un piccolo esempio:
/*
* Created by SharpDevelop.
* User: Luciano
* Date: 10/01/2006
* Time: 22.57
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Data;
namespace ProvaRedimCs
{
class MainClass
{
[STAThread]
public static void Main(string[] args)
{
string[] s = {"a","B","C","D"};
Console.WriteLine("Prima = {0}", s.Length);
s = Ridimensiona(s, s.Length + 1,true);
s[s.Length - 1] = "z";
Console.WriteLine("Dopo = {0}",s.Length);
for (int x = 0; x < s.Length; x++)
{
Console.WriteLine(s[x]);
}
}
public static string[] Ridimensiona(string[] pArray, int pNewLength, bool pPreserve)
{
int j = pArray.Length;
if (pNewLength < 1)
pNewLength = 1;
string[] n = new string[pNewLength];
if (j > pNewLength)
j = pNewLength;
if (pPreserve)
Array.Copy(pArray,n,j);
return n;
}
}
}
kiara83
Profilo
| Junior Member
90
messaggi | Data Invio:
mar 6 giu 2006 - 10:53
Ma se uso un ArrayList, quando faccio
myArray.Add()
come faccio a mettere dentro la parentesi il mio oggetto di tipo PropImm che avrà ad esempio un nome,un colore e una largezza (x fare un esempio) e quindi dovrei passargli ad esempio (mia immagine, rosso, 10).
Si può mettere una cosa così dentro la parentesi? e poi, devo mettere davanti
(PropImmagini)
per dirgli che quell'elemento è di tipo propImmagini?
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
mar 6 giu 2006 - 10:57
Con il framework 2.0 ci sono i generics che sono stati introdotti proprio per gestire queste cose.
Tu appendi il tuo oggetto e poi lo ritrovi esattamente come l'hai appeso, con tutte le sue proprietà già impostate (se no allora a che servierebbe?).
kiara83
Profilo
| Junior Member
90
messaggi | Data Invio:
mar 6 giu 2006 - 11:13
Purtroppo non ho il framework 2.0 ma ho una versione precedente. Avevo visto su msdn2 la possibilità di usare i generics, ma
purtroppo non ce l'ho.
Posso fare lo stesso in qualche modo con ArrayList??
kiara83
Profilo
| Junior Member
90
messaggi | Data Invio:
mar 6 giu 2006 - 11:22
Se metto così va bene lo stesso?
private ArrayList alElements;
alElements = new ArrayList();
PropImm elem = new PropImm();
// Imposto le proprietà
.....
// Aggiungo l'oggetto alla lista
alElements.Add(elem);
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
mar 6 giu 2006 - 11:23
Si, certamente solo che devi controllare di appendere solo oggetti dello stesso tipo.
Per quanto riguarda il framework 2.0 puoi scaricarti la versione express di visual studio 2005 da microsoft che è gratuita.
http://community.visual-basic.it/lucianob/archive/2006/02/24/16876.aspx
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !