String.Empty を Nothing/Null に変換する
質問
それを行う .Net 関数はありますか。それがない場合は、独自の方法を作成する必要があると思います。
問題は、私には機能があるということです。整数を受け入れます。整数 0 または null 値を渡しても、機能します。問題は、空のテキストボックスの値が String.Empty 値であることです。
ifは使いたくないです。つまり、それは可能ですが、このように関数を呼び出すことができれば、はるかに優れています
MyFunction(txtTextbox.Text)
ただし、string.empty を整数に変換できないため、機能しません。
解決
私はあなたが必要と思います:
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; }
他のヒント
どの程度、ええと、事前に文字列の整数を読んでくださいあなたの関数内の整数、および使用int.Parse
またはint.TryParse
を受け入れる?
ただ、別の視点から、私はあなたのテキストボックスにも数字のみを入力できるようにする必要があることを前提としています。それ以外の場合だけ数値以外を入力する誰かに対して弾丸の証拠になるだろうイマイチヌルを扱います。どちらかあなたはそれのために作成したいくつかのマスキング、イベントハンドラまたは検証がなければなりません。独自の入力制限行動とのTextBoxから継承は、あなたがすでに持っていたことをことをNumTextBoxのいずれかオーバーライドTextプロパティを作成したり、新しいプロパティを作成する方法は、すべての変換後のルックスとは、システム全体を通して一貫して適切な値を返す値を呼び出します。
これを試します
Sub MyFunction(ByVal Param1Integer as Integer)
' Do Something
End Sub
Sub MyFunction(ByVal Param1String as String)
MyFunction(Val(Param1String))
End Sub
これは、空の文字列が0と同じであることを前提としています。
の使用を検討しましたか 数値上向き下向き (スピンコントロール)?文字列から変換する必要はなく、.Value メンバー (常に有効な整数!) を持ちます。上限値と下限値を制限したり、デフォルトを設定したりできます。
のステートメント(VB)場合、私はちょうどインラインを使用することになります:
MyFunction(IIf(txtTextBox.Text Is Nothing, "", txtTextBox.Text))