3

それを行う.Net関数はありますか。ない場合は、独自の方法を作成する必要があると思います。

問題は、私には機能があるということです。整数を受け入れます。0 整数または null 値を渡しても機能します。問題は、空のテキスト ボックスの値が String.Empty 値であることです。

if は使いたくない。私はそれができることを意味しますが、このように関数を呼び出すことができれば、はるかに優れています

MyFunction(txtTextbox.Text)

ただし、string.empty を整数に変換できないため、機能しません。

4

6 に答える 6

4

私はあなたが必要だと思います:

if(string.IsNullOrEmpty(value)) value = null;

また

int MyFunction(string value)
 {
      if(string.IsNullOrEmpty(value)) return 0;

      int val = 0;
      int.TryParse(value, out val);
      return val;
 }
于 2010-02-22T23:36:48.373 に答える
3

ええと、整数を読み取る必要がある関数で整数を受け入れ、文字列に対してint.Parseorint.TryParseを事前に使用するのはどうですか?

于 2010-02-22T23:37:57.920 に答える
0

これを試して

   Sub MyFunction(ByVal Param1Integer as Integer)
     ' Do Something
   End Sub

   Sub MyFunction(ByVal Param1String as String)
     MyFunction(Val(Param1String))
   End Sub

空の文字列は0と同じであると想定しています。

于 2010-02-23T00:03:44.117 に答える
0

別の観点から言えば、テキストボックスにも数値のみを入力できるようにする必要があると思います。それ以外の場合は、null を処理するだけでは、数値以外の入力に対する防弾にはなりません。作成したマスキング、イベント ハンドラー、または検証のいずれかが必要です。既に持っている入力制限動作を備えた TextBox から継承する独自の NumTextBox を作成し、Text プロパティをオーバーライドするか、新しいプロパティを作成して、すべての変換を監視し、システム全体で一貫して適切な値を返す Value を呼び出します。

于 2010-02-22T23:45:15.817 に答える
0

インライン IF ステートメント (VB) を使用します。

MyFunction(IIf(txtTextBox.Text Is Nothing, "", txtTextBox.Text))
于 2011-11-04T02:21:14.250 に答える
0

NumericUpDown (スピン コントロール)の使用を検討しましたか? String から変換する代わりに、.Value メンバー (常に有効な Integer!) があります。上限値と下限値を制限したり、デフォルトを設定したりできます。

于 2010-02-23T00:42:27.940 に答える