Avatar billede omen Nybegynder
26. oktober 2003 - 02:13 Der er 8 kommentarer og
1 løsning

switch, case

Jeg prøver at lære mig selv at bruge switch, og case, men går ikke ligefrem forygende!

Jeg har oprettet et TreeView, og tiløjet to noder, nemlig 'Hey', og 'Bye', og derfor har jeg prøvet dette:

string message;
message = treeView1.SelectedNode.Text;
  switch(message)
    {
      case Hey:
        MessageBox.Show("Hey there fello'");
      case Bye:
        MessageBox.Show("Bye, come back soon");
    }

I forstår nok formålet hvad jeg vil gøre, men HVORDAN skal jeg gøre det?
På forhånd tak!
Avatar billede bearhugx Nybegynder
26. oktober 2003 - 02:17 #1
jeg kan ikke lige huske om du kan teste på strings i switch-case strukturer - men de strenge skal da i det mindste i " " 'er

dvs
switch(message){
  case "hey": MessageBox.Show("Hey there fello'");
  case "Bye": MessageBox.Show("Bye, come back soon");
}
Avatar billede bearhugx Nybegynder
26. oktober 2003 - 02:25 #2
har lige checket det inde på MSDN - og min case-kode er korrekt...

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfTheSwitchStatement.asp
Avatar billede omen Nybegynder
26. oktober 2003 - 02:27 #3
Så understreger den switch i,
switch(message)
og fortæller mig,
Control cannot fall through from one case label ('case "Bye":') to another.
Avatar billede omen Nybegynder
26. oktober 2003 - 02:30 #4
Ok, man skal åbenbart break efter hver case, eller er der en anden måde?
Avatar billede bearhugx Nybegynder
26. oktober 2003 - 02:34 #5
hvis du ønsker switch-case, så er du nød til at breake efter hver valgmulighed - sådan forholder det sig også i f.eks. Java og C++...

switch(message){
  case "hey": MessageBox.Show("Hey there fello'"); break;
  case "Bye": MessageBox.Show("Bye, come back soon"); break;
}
Avatar billede tjp Mester
26. oktober 2003 - 02:41 #6
>> omen
Du kan også bruge 'goto case "casenavn"' hvis det har interesse.
>> bearhugx
Du behøver ikke at break'e i C++ og Java, men man gør det som regel, da programudførelsen blot fortsætter i næste case.
Avatar billede omen Nybegynder
26. oktober 2003 - 02:01 #7
tip: Tak for tip'et :-), men goto har ingen interesse i mit formål :)
Avatar billede omen Nybegynder
26. oktober 2003 - 02:06 #8
Og tak for hjælpen bearhugx!
Avatar billede arne_v Ekspert
26. oktober 2003 - 12:14 #9
C# adskiller sig faktisk lidt fra Java og C++ for dette spørgsmål:
  - break i hver case label er mandatory ikke optional
  - man kan lave switch på en streng
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester