0
votes

C # Convertir la chaîne en cors

Je travaille sur un serveur et un client TCP et je dois convertir une entrée utilisateur (console.readline ();) à une chaîne constante existante. Heres Le code:

    const int PORT_NO = 8080;
    const string SERVER_IP = "127.0.0.1";
    public static void MainClient()
    {

        SERVER_IP = Console.ReadLine(); //I need help here :(

        //The boring stuff
    }


5 commentaires

Pourquoi ne pas laisser tomber const alors? statique String Server_ip = "127.0.0.1"; . Si vous modifiez la déclaration, server_ip = console.readline (); sera parfaitement légal


Si vous changez it, ce n'est pas Const Ant anth, est-ce?


@Fildor: C'est jusqu'à ce qu'il soit changé à nouveau;)


La méthode que j'utilise plus tard dans le code serveur TCP nécessite une chaîne de const. J'ai oublié de dire ça


@Terthesz - Comment le serveur TCP connaît-il la variable n'a pas été déclaré comme un const ? Le moment où vous appelez server_ip comme paramètre, vous perdrez le fait que c'est const.


3 Réponses :


0
votes

une décalure constante avec const ne peut pas être modifié .

Vous utilisez le mot clé Const pour déclarer un champ constant ou une locale constante. Les champs constants et les locaux ne sont pas des variables et peuvent ne pas être modifiés.

Supprimer le mot-clé const pour rendre votre champ une variable et ajouter statique , sinon vous ne pouvez pas accéder au champ de votre méthode statique MAINTCLIENT .


2 commentaires

Je viens de modifier le post. J'ai besoin que la chaîne soit constituée pour que le client TCP fonctionne


Que se passe-t-il si ce n'est pas const ? Pourquoi le client TCP ne fonctionne-t-il pas alors?



0
votes

Vous ne pouvez pas attribuer une valeur à un champ qui est Const à la compilation. Au lieu de cela, vous pouvez effectuer le champ librement et attribuer la valeur que vous avez lue de la console dans le constructeur de classe. Ce serait mon approche, si j'ai bien compris votre problème correctement. Quelque chose comme: xxx

espère que cela aide.


0 commentaires

0
votes

corrigé! Je n'ai pas lu l'erreur. Il peut s'agir d'une valeur de chaîne régulière, mais la fonction ne peut pas être statique. Voici le code final

const int PORT_NO = 8080;
string SERVER_IP = "127.0.0.1";
public void MainClient()
{

    SERVER_IP = Console.ReadLine(); //I need help here :(

    //The boring stuff
}


0 commentaires