Ciao, è la prima volta che rispondo a qualcuno in questo forum e spero di non deluderti!
In C# esistono diverse classi che appartengono al namespace System.Collection e che consentono la gestione di un insieme di oggetti dimensionato dinamicamente. Quella che ho usato più frequentemente è la classe <b>ArrayList</b> di cui ti porto un semplice esempio di utilizzo:
using System;
using System.Collections;
public class SamplesArrayList {
public static void Main() {
//Creazione di un ArrayList
ArrayList al = new ArrayList();
al.Add("Ciao");
al.Add("a");
al.Add("tutti!");
// Visualizzazione contenuto ArrayList
Console.WriteLine( "ArrayList" );
// N° degli elementi che l'ArrayList può contenere
Console.WriteLine( "\tN° elementi: {0}", al.Count );
// N° degli elementi che l'ArrayList effettivamente contiene
Console.WriteLine( "\tCapacità: {0}", al.Capacity );
Console.Write( "\tValori:" );
VisualizzaArrayList( al );
}
public static void VisualizzaArrayList( IEnumerable myList )
{
System.Collections.IEnumerator myEnumerator = myList.GetEnumerator();
while ( myEnumerator.MoveNext() )
Console.Write( "\t{0}", myEnumerator.Current );
Console.WriteLine();
}
E' possibile accedere ad un singolo elemento dell'ArrayList specificando l'indice:
string s = al[0].ToString();
Notare la conversione a string in quanto l'elemento è di tipo Object.
Per quanto riguarda la name decoration, non so che risponderti.
Spero di esserti stata utile, almeno per gli array dinamici.
Ciao