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

nur

MyFunction (txtTextbox.Text)

Aber es wird nicht funktionieren, weil sie die String.Empty auf eine ganze Zahl nicht konvertieren kann.

War es hilfreich?

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.

scroll top