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