Manfred Skrevet 29. august 2007 Del Skrevet 29. august 2007 Siden vi da er i .net-forumet drister jeg meg å komme med noe som gjelder kun C# (uten at jeg skal beskyldes for drittkasting): C# er i utgangspunktet strict, og vil ikke la deg skrive noe annet enn if(bool) Så hvis man skriver C#, så ser jeg ikke hvordan du i all verden kan tyde det feil, altså blir det mest logisk OG ensbetydende med if(alive){} Lenke til kommentar
ze5400 Skrevet 29. august 2007 Del Skrevet 29. august 2007 DERSOM, og kun DERSOM variablen heter noe selvforklarende, som alive. (Noe den riktignok skal ) Lenke til kommentar
GeirGrusom Skrevet 30. august 2007 Del Skrevet 30. august 2007 if tar bare bool, hvis du har skrudd av option strict, så vil den automatisk konvertere single til bool (int16) på samme måte som du kan skrive Dim text as String = "" Dim value As Single = 120.04f text = "32" + value Dette uttrykket er fullstendig meningsløst når man ser på det... Hva er det brukeren prøver å gjøre egentlig? skal han legge sammen teksten 23 og 120.04f? Visual Basic prøver seg fram her, den tester først om text er en verdi, og hvis det er tilfellet, legger den verdiene sammen. Hvis ikke, legger den sammen teksten. Dette burde det vært lang fengselsstraff eller dødsdom for å tillate. Men som sagt, dersom du ikke er fullstendig nybegynner, og skrur av option strict, så vil det gi compile feil. Det går ikke an å teste noe annet en bool i .NET Det er bare i C/C++ at man kan teste på integer, men i VB.NET konverterer den altså verdien for deg hvis du tillater det, noe man ikke burde gjøre. Tvetydig kode er ekstremt dårlig praksis. Lenke til kommentar
ze5400 Skrevet 30. august 2007 Del Skrevet 30. august 2007 (endret) For å se det fra en annen side, hva bryr det dere hvordan folk koder? Bare lurer... Du syns sikkert ikke det er en tilfredsstillende løsning, men på eksemplet ditt over hadde jeg bare slengt på en ToString(), og latt det skure Mehn, en ting til. Hva gjør den f'en i Singlen? Ett tallsystem jeg ikke har hørt om (feksadesimalsk FTW ), eller bare for provokasjon? EDIT: Men jeg må medgi at det virker rart å legge 2 tall etter hverandre inn i en string. Endret 30. august 2007 av ze5400 Lenke til kommentar
GeirGrusom Skrevet 30. august 2007 Del Skrevet 30. august 2007 (endret) Jeg skriver vanligvis C# hehe 1.0 = double 1.0f = float/single edit: Det er viktig å være presis med hva man mener, dessuten implicit casting mellom store til mindre datatyper er en feil i C#, derfor må man skrive 1.0f eller (float)1.0 Hadde det vært slik i VB.NET, så hadde vi kanskje ikke hatt like mange som skrev Label1.Text = TextBox1.Text + 20 Som jeg egentlig anser som en feil, som VB burde slått hardt ned på. Endret 30. august 2007 av GeirGrusom Lenke til kommentar
ze5400 Skrevet 30. august 2007 Del Skrevet 30. august 2007 (endret) Label1.Text = TextBox1.Text + 20 Det der ga ikke mening. Jeg har aldri sett det der noen sinne ihvertfall. Har ikke lett, riktignok. Mehn: Label1.Text = TextBox1.Text & "20" Gir straks mer mening, i min forskrudde verden. Er det ikke slik de fleste gjør det, i VB.NET? EDIT: Mulig du mente å addere, og i såfall gir det ikke fornuft i mils omkrets. Da bør man vel, om jeg ikke er helt feil, først validere om input er numeric, og deretter addere, før man tar det i en "ToString()", og legger det i Labelen. (Eller er jeg helt på bærtur nå? Hvilket er meget mulig jeg er. Bare se signatur ) Endret 30. august 2007 av ze5400 Lenke til kommentar
GeirGrusom Skrevet 30. august 2007 Del Skrevet 30. august 2007 Desverre så fungerer dette i VB.... svært beklagelig. Dette har ført til at jeg har sett mye stygg VB kode, der folk gjør om tekst til tall ved å skrive Dim s As String Dim i As Integer s = "120" i = s + 0 Dette er som man kan se utrolig dårlig praksis, men det er desverre veldig utbredt, siden det fungerer. Lenke til kommentar
ze5400 Skrevet 30. august 2007 Del Skrevet 30. august 2007 Nå begynner jeg å se hvor du vil hen. Det der er jo fryktelig dårlig praksis. Digg for slike om de skal mirgere til ett annet språk en gang. Om man ikke fatter vitsen med datatyper bør man holde seg til php. Lenke til kommentar
j000rn Skrevet 31. august 2007 Del Skrevet 31. august 2007 Om man ikke fatter vitsen med datatyper bør man holde seg til php. 9393031[/snapback] Eller VB? desverre.... Lenke til kommentar
ze5400 Skrevet 31. august 2007 Del Skrevet 31. august 2007 Eller VB? desverre.... 9398004[/snapback] Så var VB aldri ment for å slurve med da Det bare ble sånn Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå