Konvertieren String.Empty auf Nothing / Null
Frage
Gibt es eine .NET-Funktion, die das tut. Ich denke, wenn es nicht, ich habe meine eigene Methode zu machen.
Die Sache ist i eine Funktion haben. Er akzeptiert ganze Zahlen. Wenn Sie passieren eine 0 integer oder einen Nullwert es funktioniert immer noch. Das Problem ist, dass der Wert eines leeren Textbox ist ein String.Empty Wert.
Ich mag nicht, wenn der verwenden. Ich meine, es könnte aber sein viel schöner, wenn ich meine Funktion aufrufen, wie diese
nurMyFunction (txtTextbox.Text)
Aber es wird nicht funktionieren, weil sie die String.Empty auf eine ganze Zahl nicht konvertieren kann.
Lösung
Ich glaube, Sie brauchen:
if(string.IsNullOrEmpty(value)) value = null;
oder
int MyFunction(string value) { if(string.IsNullOrEmpty(value)) return 0; int val = 0; int.TryParse(value, out val); return val; }
Andere Tipps
Was ist, äh, eine ganze Zahl in Ihrer Funktion zu akzeptieren, die ganzen Zahlen sind, und die Verwendung int.Parse
oder int.TryParse
auf der Saite vorher lesen sollte?
Nur aus einer anderen Perspektive, Ich gehe davon aus, dass Ihr Feld wird auch nur numerische müssen, damit eingegeben werden. Ansonsten Handhabung einfach null ist nicht nicht numerisch sein würde kugelsicher gegen jemand eintritt. Es muss entweder einige Maskierungen, Event-Handler oder Validierung, die Sie für sie erstellt haben. Wie wäre es Ihr eigenes NumTextBox zu schaffen, dass vererben TextBox mit der Aufnahmebeschränkung Verhalten, dass Sie bereits und entweder überschreiben Text-Eigenschaft oder eine neue Eigenschaft erstellen ruft Wert, der kümmert sich um alle Konvertierungen und den entsprechenden Wert konsequent durch aus dem System zurück.
Versuchen Sie, diese
Sub MyFunction(ByVal Param1Integer as Integer)
' Do Something
End Sub
Sub MyFunction(ByVal Param1String as String)
MyFunction(Val(Param1String))
End Sub
Es wird davon ausgegangen, dass ein leerer String ist die gleiche wie 0.