2009-03-13 3 views
4

Ich bin neu in der Entwicklung und erhalte den Fehler "Expression Expected", wenn ich versuche, den unten stehenden Code zu kompilieren. Was mache ich falsch?Ich bin ein Anfänger und verstehe nicht, warum mein Code "Expression Expected" wirft

Public Class Form1 

    Private Sub btnCompute_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCompute.Click 

     Dim Occupation As String = CStr(txtOccupation.Text) 
     Dim Bill As Double = CDbl(txtBill.Text) 
     Dim Tip As Double = CDbl(txtTip.Text) 

     lstOutput.Text = Bill * (1 + if (Tip<1,Tip,Tip/100)) 

    End Sub 
End Class 
+2

@ Josh - Das für –

+1

@ Josh ungerufen ist - Ist nicht dein Ego auf Ihrem Live-journal gehört? – Davey

+0

Lasst uns keinen Flammenkrieg beginnen. –

Antwort

9

ich die Ausnahme bin zu raten, wird in der letzten Zeile geworfen auf

lstOutput.Text = Bill * (1 + if (Tip<1,Tip,Tip/100)) 

Sie verwendet „wenn“ die in einer if ... then Anweisung verwendet wird, aber ich wette, dass Sie gemeint iif, die eine Funktion

lstOutput.Text = Bill * (1 + IIf (Tip<1,Tip,Tip/100)) 

nur hinzufügen, dass ein extra "i" und Sie sollten in Ordnung sein

Article explaining the difference between "IF" and "IIF()"

+0

Das hat den Trick gemacht. Danke für Ihre Hilfe! – Davey

+0

Sorry .. nur um etwas in meinem Kopf zu löschen, verwenden Sie vor Visual Studio 2008 Davey, dachte ich inline, wenn gültig ab 2008 war – spacemonkeys

0

Wenn Sie 2008 verwenden? oder später, wenn das ist ok

Dim tipT As New TextBox 
    Dim Bill As Decimal = 9D 
    Dim tip As Decimal = 20 
    tipT.Text = Convert.ToString(Bill * If(tip >= 1, tip/100, tip)) 
Verwandte Themen