私はnull可能なプロパティを持っており、null値を返したいと思います。 VB.NETでどうすればいいですか?Nullable(Of T)のnull値は何ですか?
現在、私はこのソリューションを使用していますが、もっと良い方法があると思います。
私はnull可能なプロパティを持っており、null値を返したいと思います。 VB.NETでどうすればいいですか?Nullable(Of T)のnull値は何ですか?
現在、私はこのソリューションを使用していますが、もっと良い方法があると思います。
キーワード「Nothing」をお探しですか?
はい、VB.NETではNothing、C#ではnullです。
のNullableジェネリックデータ型コンパイラにexplicitallyそれを書かなく、あなたがそれを行うことはできません。値の型に「何も」(またはnull」の値を代入しないために可能性を与える。
Public Shared ReadOnly Property rubrique_id() As Nullable(Of Integer)
Get
If Current.Request.QueryString("rid") <> "" Then
Return CInt(Current.Request.QueryString("rid"))
Else
Return Nothing
End If
End Get
End Property
それともこれは、ReSharperのが私:)で
finder.Advisor = ucEstateFinder.Advisor == "-1" ? (long?)null : long.Parse(ucEstateFinder.Advisor);
を教えてきました私は正直に言うと、使用する方法である私が直接finder.Advisorにnullを割り当てた場合は、上記の割り当て*(長い?)*問題はありません。しかし、if節を使用しようとすると、そのようにキャストする必要があります。(long?)null
。
Nothing
が使用できますが、あなたの「既存の」コードはほぼ正しいです。ただ.Value
を取得しようとしません。実際にはい、
Public Shared ReadOnly Property rubrique_id() As Nullable(Of Integer)
Get
Return If(Current.Request.QueryString("rid") <> "", _
CInt(Current.Request.QueryString("rid")), _
New Nullable(Of Integer))
End Get
End Property
ハム:
この後、あなたは
If
式にそれを減らしたいために起こる場合は、最も簡単な解決策になります。実際にはNothingはC#nullと同等ですが、オブジェクトがインスタンス化されたかどうかを確認するためだけに使用されていると考えていました。 – thomasb