1

null許容プロパティがあり、null値を返したい。VB.NETでそれを行うにはどうすればよいですか?

現在私はこのソリューションを使用していますが、もっと良い方法があるかもしれないと思います。

    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 (New Nullable(Of Integer)).Value
            End If
        End Get
    End Property
4

5 に答える 5

6

「無」というキーワードをお探しですか?

于 2008-09-16T13:52:55.870 に答える
2

はい、VB.NET では Nothing、C# では null です。

Nullable ジェネリック データ型により、コンパイラは "Nothing" (または null") 値を値型に割り当てることができます。明示的に記述しないと、それを行うことはできません。

C# の Null 許容型

于 2008-09-16T13:58:50.300 に答える
1
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
于 2008-09-16T23:16:24.080 に答える
0

または、これは私が使用する方法です。正直に言うと、ReSharper が教えてくれました :)

finder.Advisor = ucEstateFinder.Advisor == "-1" ? (long?)null : long.Parse(ucEstateFinder.Advisor);

上記の割り当てで、 null を finder.Advisor*(long?)* に直接割り当てても問題ありません。しかし、if 句を使用しようとすると、そのようにキャストする必要があり(long?)nullます。

于 2009-01-13T17:28:07.317 に答える