intなどの値型を格納するStackの場合、C#ではnull
を格納することはできません。 VBではNothing
を格納しようとすると、Nothing
そのものではなく、0
などその型のデフォルト値が格納されます。
Stackにnullを格納する(値型の場合)
Imports System
Imports System.Collections.Generic
Class Sample
Shared Sub Main()
' Integer(値型)のStack
Dim s As New Stack(Of Integer)()
' NothingをPushする
s.Push(Nothing)
' Pushした内容をPeekする
Console.WriteLine(s.Peek())
End Sub
End Class
実行結果
0
値型の値を格納するStackで、値が空であることを表すためにnull
/Nothing
を格納したいといった場合には、ヌル許容型を用いることができます。