1

おそらく非常にばかげた質問ですが、vb.net でキューの配列を作成したいので、各キューをインデックスで参照できます。

例えば

commandQueue(1).enqueue("itemtext")

commandQueue(2).enqueue("othertext")

commandQueue(1) は、commandQueue(2) とは別のキューを指します。

オブジェクト配列を定義してキューを入れようとして、すべてがもつれました。

はい、もちろん、昔ながらの配列やポインタなどを使って手作業で管理することもできますが、これははるかにエレガントに見えました...

4

1 に答える 1

3

このソリューションの何が問題になっていますか?

Dim commandQueue As Queue(Of T)()

このソリューションには、「時代遅れ」というものはありません。ただし、動的メモリの方が適している場合もあります。

Dim commandQueue As New List(Of Queue(Of T))()

どちらの場合も、使用する前に各キューを初期化する必要があります! 配列の場合、配列も初期化する必要があります。

' Either directly: '
Dim commandQueue(9) As Queue(Of T)
' or, arguably clearer because the array length is mentioned explicitly: '
Dim commandQueue As Queue(Of T)() = Nothing ' `= Nothing` prevents compiler warning '
Array.Resize(commandQueue, 10)
于 2008-12-06T21:59:34.550 に答える