intなどの値型を格納するQueueの場合、C#ではnullを格納することはできません。 VBではNothingを格納しようとすると、Nothingそのものではなく、0などその型のデフォルト値が格納されます。
Queueにnullを格納する(値型の場合)
using System;
using System.Collections.Generic;
class Sample {
static void Main()
{
// int(値型)のQueue
var q = new Queue<int>();
// nullをEnqueueしようとする
q.Enqueue(null); // error CS1503: 引数 1: は '<null>' から 'int' へ変換することはできません。
// Enqueueした内容をPeekする
Console.WriteLine(q.Peek());
}
}
値型の値を格納するStackで、値が空であることを表すためにnull/Nothingを格納したいといった場合には、ヌル許容型を用いることができます。