6
votes

Comment convertir IList à une chaîne [] sans utiliser LINQ

Je ne sais pas quel est le meilleur moyen de convertir un iList ( ilist ne met pas en œuvre la propriété toarray) à une chaîne [ ] tableau.

Je ne peux pas utiliser linq parce que je compose de .NET 2.0. Toutes les idées seront bienvenues.


0 commentaires

5 Réponses :


1
votes

D'une manière ou d'une autre, vous allez devoir créer un tableau et remplir le contenu de celui-ci avec ce qui est dans la liste. C'est la façon la plus directe de le faire.

var arr = new string[Your_List.Count]

for(var ii = 0; ii < arr.Length; ii++){
   arr[ii] = Your_List[ii];

}


0 commentaires

26
votes

Utilisez icollection .copyto code> :

string[] strings = new string[list.Count];
list.CopyTo(strings, 0);


0 commentaires

3
votes

Toarray est une méthode d'extension d'iénumérable et implémente iList iEnumerable. Vous pouvez le faire si vous importez cela.


0 commentaires

1
votes

Essayez:

 public static T[] ToArray<T>(this IList<T> list)  
    {  
        if (list is Array) return (T[]) list;  

        T[] retval = new T[list.Count];  
        for (int i = 0; i < retval.Length; i++)   
            retval[i] = list[i];  

        return retval;  
    }  


0 commentaires

4
votes

Si vous êtes obligé d'avoir ilist, alors pour obtenir un tableau ...

IList list; 
var array = new List<string>(list).ToArray()


0 commentaires