Après avoir suivi un didacticiel, j'ai une table de hachage contenant un objet TcpClient correspondant à la chaîne d'un utilisateur connecté. Après avoir lu les avantages et les inconvénients d'une table de hachage, il a été recommandé d'utiliser un dictionnaire parce qu'il est générique, donc plus flexible. A partir de là, un tableau contenant les valeurs de la table de hachage, dans ce cas le TcpClient des utilisateurs, est créé. En bouclant le tableau de TcpClients, je peux obtenir le flux de chaque utilisateur et écrire un message sur leur écran.Impossible de copier le dictionnaire 'Valeur' dans une liste - C#
Maintenant, si je tente de convertir le tableau contenant l'objet TcpClient pour chaque utilisateur, je reçois les erreurs suivantes:
La méthode la plus surchargée de match pour « System.Collections.Generic.Dictionary.ValueCollection.CopyTo (système .Net.Sockets.TcpClient [], int) » a des arguments invalides
argument 1: ne convertit pas 'System.Collections.Generic.List' à 'System.Net.Sockets.TcpClient []'
Ceci est le Dictiona objet ry:
public static Dictionary<string, TcpClient> htUsers = new Dictionary<string, TcpClient>();
Voici la liste que je crée:
List<TcpClient> tcpClients = new List<TcpClient>();
C'est la méthode que je suis en train de suivre pour copier les valeurs à la liste:
htUsers.Values.CopyTo(tcpClients,0);
Est Est-ce quelque chose qui ne peut pas être fait ou dois-je faire un simple changement?
Merci pour votre temps.
@Jamie: Oui. Il va générer la liste directement à partir des valeurs, puisque les valeurs implémente IEnumerable. J'ai édité pour ajouter une deuxième option (au cas où vous faites quelque chose d'autre avec la liste au milieu) –
Merci! Je devrais probablement réalisé cela en regardant les déclarations d'erreur et la description d'IntelliSense. J'ai besoin de plus de café. –