Avatar billede lasserasch Juniormester
05. marts 2007 - 09:49 Der er 11 kommentarer og
1 løsning

If sætning med boolean værdi fejler. Hvorfor.

Hejsa.

Hurtigt spørgsmål. sikkert en lille detalje.

Har følgende sætning som virker hvis B = Int32. Men hvis B = Boolean så feljer den.


If (B > 0)
H = 1;

Den siger at > ikke er gyldig ved Boolean eller int værdier.

Nogen logisk forklaring på det?

/Lasse
Avatar billede mcgoat Nybegynder
05. marts 2007 - 09:57 #1
kigger lige med. Ville da mene at True=1 og False=0, og så burde man vel kunne
Avatar billede mcgoat Nybegynder
05. marts 2007 - 09:57 #2
men ellers kan du vel bare:

If(B)
H = 1;
Avatar billede kalp Novice
05. marts 2007 - 09:58 #3
hvis B er et tal kan du jo ikke sige om B er større en falsk eller sandt!
Avatar billede kalp Novice
05. marts 2007 - 10:00 #4
if(B is bool && B == true)
H = 1;
else if (B is Int32 && b > 0)
H = 0;

sådan kan du vidst godt gøre.
Avatar billede kalp Novice
05. marts 2007 - 10:01 #5
hvis den brokker sig over bool skal man måske skrive det med stort.

if(B is Boolean && B == true)
H = 1;
else if (B is Int32 && b > 0)
H = 0;
Avatar billede crazysnap Seniormester
05. marts 2007 - 10:02 #6
Hej lasserasch,


Boolean har ikke en implicit operator som caster en bool til en int32.

Så for at udføre den sammenligning du har ovenover skal du først convertere B til en integer: :)



int H = 0;
bool B = true;

if (Convert.ToInt32(B) > 0)
    H = 1;



Mvh.

- Snap :)
Avatar billede bjering Nybegynder
05. marts 2007 - 10:03 #7
Well.

Det eneste logiske jeg kan komme på er at en bool er kun 1 og nul, true og false.

Ved ikke lige om du kan gøre

if(convert.toboolean(B) > 0)

Som sagt, ved ikke, sidder på min mobil og skriver dette.
Avatar billede bjering Nybegynder
05. marts 2007 - 10:05 #8
Okay, 10 svar på 1 minut.

Tager for lang tid at skrive på mobilen
Avatar billede lasserasch Juniormester
05. marts 2007 - 10:40 #9
Doohhh.... Mig der slet ikke kan tænke her fra morgenstunden. Må have været en lidt for hård weekend! Det er jo en total fejl 40 fra min side. Det var Double jeg ville bruge og ikke Boolean. Selvfølgelig....

Ja det er korrekt at det er tal værdier jeg tester på, og da de er med komma, så skulle de lige være en anden type end Int32.

Takker for jeres svar, og er lidt pinlig over i det hele taget at have stillet spørgsmålet.

Hvem kommer først til mølle og smider et svar?

/Lasse
Avatar billede kalp Novice
05. marts 2007 - 10:46 #10
ikke mig
Avatar billede crazysnap Seniormester
05. marts 2007 - 10:50 #11
Kender alt for godt til sløve mandag morgener efter hårde weekender, så for min skyld kan du bare selv snuppe dem! :)


Mvh.

- Snap :)
Avatar billede lasserasch Juniormester
02. oktober 2007 - 11:53 #12
Nå, jamen nu er tiden gået! Jeg takker for kommentarerne og lukker spørgsmålet igen!

/Lasse
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

IT-JOB