Domanda

Ho pensato che in .net 3.0 esistesse un modo per dare un tipo a un elenco di array in modo che non restituisse solo Object ma ho problemi a farlo. È possibile? In tal caso, come?

È stato utile?

Soluzione

List<T> è stato introdotto con generics in .NET 2.0:

using System.Collections.Generic;

var list = new List<int>();
list.Add(1);
list.Add("string"); //compile-time error!
int i = list[0];

Altri suggerimenti

Probabilmente stai cercando List <T>, disponibile da .NET 2.0 o per qualsiasi altro tipo generico disponibile da System.Collections.Generic o System.Collections.ComponentModel.

Se devi usare ArrayList e non puoi iniziare a usare List, e conosci il tipo di ogni elemento in quell'ArrayList, puoi farlo:

  string[] stringArray = myArrayList.ToArray(typeof(string)) as string[];

Se qualcosa in myArrayList non fosse una stringa, in questo caso, otterresti un InvalidCastException.

Se puoi, inizierei a usare List come citato da OregonGhost.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top