Comment faire pour copier la Liste de Tableau
J'ai la liste de Guid
List<Guid> MyList;
J'ai besoin de copier son contenu à la Matrice
Guid[]
Veuillez me recommander une jolie solution
- Une autre question, MyClass { Guid valeur; } List<Maclasse> Comment faire pour copier Guid propriété tableau d'un Guid? Je ne parle pas de l'aide de l'itération déclaration
- Je ne suis pas 100% sur de SORTE que l'étiquette, mais il pourrait être préférable de poser une nouvelle question comme une question nouvelle. J'ai peut-être tort.
InformationsquelleAutor Captain Comic | 2009-12-17
Vous devez vous connecter pour publier un commentaire.
Comme Luc dit dans les commentaires, le particulier
List<T>
type a déjà unToArray()
méthode. Mais si vous êtes à l'aide de C# 3.0, vous pouvez tirer parti de laToArray()
méthode d'extension sur touteIEnumerable
instance (qui comprendIList
,IList<T>
, les collections, d'autres tableaux, etc.)Concernant votre deuxième question:
Vous pouvez utiliser le
Select
méthode pour effectuer le besoin de projection:List<T>
a c'est propre (c'est à dire, non pas une extension)ToArray
méthode, qui est disponible depuis .NET2. (Exactement la même syntaxe que ci-dessus, bien que vous ne seriez pas capable de l'utiliservar
ou de l'objet initialisers sans C#3.)Vous devriez juste appeler MyList.ToArray() pour obtenir un tableau des éléments.
La nouvelle façon (à l'aide d'extensions ou de la méthode ToArray() sur les listes .Net 2.0):
À l'ancienne:
List.ToArray
, qui utiliseSystem.Array.Copy
Encore une autre option, en plus de
Guid[] MyArray = MyList.ToArray()
:Cette solution pourrait être mieux si, pour quelque raison que ce soit, vous avez déjà une correctement tableau de taille et que vous voulez juste de le remplir (plutôt que de construire un nouveau, comme
List<T>.ToArray()
n').À l'aide de la Énumérable.ToArray() La Méthode D'Extension que vous pouvez faire:
Si vous êtes toujours à l'aide de C# 2.0, vous pouvez utiliser le Liste.ToArray méthode. La syntaxe est la même (sauf qu'il n'y est pas
var
mot-clé en C# 2.0).