Comment faire pour convertir une liste de tableaux à une fortement typé liste générique sans l'aide d'un foreach?
Voir l'exemple de code ci-dessous. J'ai besoin de la ArrayList
à une Liste générique. Je ne veux pas utiliser foreach
.
ArrayList arrayList = GetArrayListOfInts();
List<int> intList = new List<int>();
//Can this foreach be condensed into one line?
foreach (int number in arrayList)
{
intList.Add(number);
}
return intList;
- Dans le cas où vous n'êtes pas sûr que arrayList contient ne devrait types, de les filtrer arrayList.OfType<Maclasse>().ToList(). Voir stackoverflow.com/a/7845009/52277
InformationsquelleAutor James Lawruk | 2009-04-24
Vous devez vous connecter pour publier un commentaire.
Essayez ce qui suit
Cela ne fonctionne bien qu'avec le C# 3.5 compilateur car il faut profiter de certaines des méthodes d'extension définies dans le framework 3.5.
C'est inefficace (il fait un intermédiaire de la matrice de inutilement), mais d'une manière concise et va travailler sur .NET 2.0:
arrayList.ToArray(typeof(int)) as int[]
et puis il a travaillé merci! +1Comment l'utilisation d'une méthode d'extension?
De http://www.dotnetperls.com/convert-arraylist-list:
Dans .Net standard 2 à l'aide de
Cast<T>
est la meilleure façon: