Console sluit altijd af

Status
Niet open voor verdere reacties.

murdoch201

Gebruiker
Lid geworden
31 mei 2008
Berichten
336
Hoi

in mijn klein console programma is het de bedoeling dat wanneer ik iets stuur hij iets terug stuurd. Dat lukt altijd maar 1 keer, en bij de volgende enter toets druk sluit hij altijd af. Ik weet helaas niet hoe dit komt. Kan er iemand mij helpen?

Code:
string message;
            message = Console.ReadLine();
            if (message == "test")
            {
                Console.WriteLine("hi");
                Console.ReadLine();
            }

            if (message == "testt")
            {
                Console.WriteLine("hii");
                Console.ReadLine();
            }
 
Re

Heey ik ben beginnend ICT student dus ik weet ook niet alles maar ik weet wel waarom hij af sluit, je hebt namelijk gezegd dat het programma 1x reageert op jou.

En dat doet hij ook, wat je moet doen is een loopje maken, elke wanneer jij een bericht stuurt, en reactie ontvangt, het weer over nieuw begint. Bijvoorbeeld:

for(int i = 0; i < 10; i++)
{
Console.WriteLine(i);
}

string message;

for(int i = 0; i < 10; i++)
message = Console.ReadLine();
if (message == "test")
{
Console.WriteLine("hi");
Console.ReadLine();
}

if (message == "testt")
{
Console.WriteLine("hii");
Console.ReadLine();
}

Heb het niet getest maar die gedachte moet je hebben.

Groetjes,

2211
 
Bij dit word message rood onderstreept

Code:
            if (message == "test")

En ik krijg deze error

Code:
Use of unassigned local variable 'message'
 
probeer dit:
Code:
string message = "";

Doe dit ff uit losse pols dus maar je moet message eerst misschien definieren
 
nu doet ie heel raar.
Ik typ 10 keer test, en dan reageert hij eindelijk.
En als ik het erna nog eens typ, sluit hij weer zoals altijd af.

Dus ik ben nog geen stap verder geraakt.
 
Is er echt niemand die hier mee kan helpen?
Elk console programma dat ooit is gemaakt lukt het, en bij mij niet.
 
Wat wil je dat het programma doet?
dat hij na test hi zegt en na testt hii om vervolgens opnieuw invoer te vragen?
Als je een ander woord invoert, wat moet er dan gebeuren?
 
Dit is eigenlijk een simpel voorbeeld.
De bedoeling is, is dat ik iets kan typen, meer als 1 keer, zonder dat hij telkens afsluit. Om een of andere reden doet hij dat altijd.
 
dat komt omdat er geen lus in je programma zit.
Onderstaand is jouw programma iets aangepast waarbij de lus wordt afgesloten als er 'exit' is ingetypt. Na elke controle wordt de message opnieuw gevuld met de input en begint de lus opnieuw:
Code:
            string message = Console.ReadLine();
            while (message != "exit")
            {
                if (message == "test")
                {
                    Console.WriteLine("hi");
                }

                if (message == "testt")
                {
                    Console.WriteLine("hii");
                }
                message = Console.ReadLine();
            }
 
Hier nog een tip. Bij dit soort applicaties waarin je strings met elkaar vergelijkt is het handig om de ToLower() methode te gebruiken. zo weet je zeker dat je vergelijking altijd klopt.


string var1 = "test";
string var2 = "Test";

if (var1 == var2)
{
//resulteert in false omdat test en Test niet gelijk zijn.
}

if (var1.ToLower() == var2.toLower())
{
//resulteert in true
}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan