LINQのSelect拡張メソッドを使ってQueueに対してインデックス付きの列挙を行う 言語: VB C# 一方、Queueではインデクサがサポートされないのでfor文による列挙はできません。 for文でインデックスを用いた列挙を行うためには、Queueを配列に変換してから列挙するか、LINQの拡張メソッドSelectを使って次のようにします。 LINQのSelect拡張メソッドを使ってQueueに対してインデックス付きの列挙を行う すべて選択してコピー ダウンロード 行番号を表示する Imports System Imports System.Collections.Generic Imports System.Linq Class Sample Shared Sub Main() Dim q As New Queue(Of String)() q.Enqueue("Alice") q.Enqueue("Bob") q.Enqueue("Charlie") ' Selectメソッドを使ってQueueの要素をインデックス付きで列挙する For Each pair In q.Select(Function(e, i) Return New With {.Element = e, .Index = i} End Function) Console.WriteLine($"{pair.Index} => {pair.Element}") Next End Sub End Class 実行結果 0 => Alice 1 => Bob 2 => Charlie 関連するページ Queueにnullを格納する(値型の場合) Clearメソッドを使ってQueueの内容を空にする foreachでQueueの内容を列挙する 配列の内容をQueueの初期内容としてインスタンスを作成する ToArrayメソッドでQueueを配列に変換する・CopyToメソッドでQueueの内容を配列にコピーする LINQの拡張メソッドSkip・Takeを使ってQueueの一部分を配列に変換する