2

これは基本的な無知のケースだと確信していますが、Lightswitch プロジェクトでコード ビハインドを使用してデータベース値をテストしようとしています。

varchar(MAX) 値が null かどうかを確認しています

if (Order.OrderNotes.Equals(null))
{
     do.something...
}

ただし、値が null の場合は NullReferenceException が発生します。値が存在する場合、エラーは発生しません。私は .contains(null), .Length = 0, .ToString() = "" などを使ってみましたが、うまくいきませんでした。Equals(null) を使用すると、int と日付が正常に機能するようですが、文字列の場合はそうではないようです。

ヘルプ!!

4

3 に答える 3

3

Order != null@DeeMacが指摘した詳細画面からこれを呼び出していると仮定します。以下の同じコードを使用してOrderいないことを確認できます。null

if (Order.OrderNotes == null) 
{
    // do.something...
}
于 2012-09-18T13:33:44.040 に答える
3

OrderNotes が null の場合、そのインスタンスを使用してメソッド、プロパティなどを呼び出すことはできません

あなたは電話するべきです

if (Order.OrderNotes == null) 

もちろん、var Order 自体は null ではないと仮定します。この方法でテストを変更できることを確実にしたい場合は、

if (Order != null && Order.OrderNotes == null) 
于 2012-09-18T13:34:47.563 に答える
1

In LightSwitch, to test if a nullable property has a value or not, you can use HasValue, so:

"if Order.OrderNotes.HasValue"

If you want the value if there is one, or the default value for the property type, you can use GetValueOrDefault:

"var value = Order.OrderNotes.GetValueOrDefault"

I agree wholeheartedly with Steve that you should be doing null checking on objects (such as Order) before trying to get a value from any of that object's properties.

于 2012-09-19T00:39:24.090 に答える