Collection クラス
アセンブリ: Microsoft.VisualBasic (microsoft.visualbasic.dll 内)

<SerializableAttribute> _ Public NotInheritable Class Collection Implements ICollection, IList, ISerializable, IDeserializationCallback
[SerializableAttribute] public sealed class Collection : ICollection, IList, ISerializable, IDeserializationCallback
[SerializableAttribute] public ref class Collection sealed : ICollection, IList, ISerializable, IDeserializationCallback
/** @attribute SerializableAttribute() */ public final class Collection implements ICollection, IList, ISerializable, IDeserializationCallback
SerializableAttribute public final class Collection implements ICollection, IList, ISerializable, IDeserializationCallback

詳細については、Visual Basic のトピック「Collection オブジェクト (Visual Basic)」を参照してください。
Visual Basic の Collection オブジェクトは、関連する項目のグループを 1 つのオブジェクトとして参照する場合に便利です。コレクション内の項目、つまり要素に必要な関連性は、コレクション内に存在しているという事実だけです。コレクションの要素は同じデータ型である必要はありません。
次の例に示すように、他のオブジェクトの作成と同じ方法でコレクションを作成できます。
-
For Each...Next ステートメント (Visual Basic) で、コレクション全体を反復処理する。
注意
Visual Basic の Collection の反復処理は、スレッド セーフな処理ではありません。コレクションの同期がとられている場合でも、別のスレッドによってそのコレクションを変更できるため、変更の結果として列挙子は例外をスローします。列挙の処理をスレッド セーフにするには、コレクションをロックする方法と、別のスレッドによる変更で発生した例外をキャッチする方法があります。プログラミング要素のロックの詳細については、「SyncLock ステートメント」を参照してください。

次の例では、Collection オブジェクト (names) と、ユーザーがオブジェクト (名前) をコレクションに追加するためのダイアログ ボックスを作成しています。さらにコレクション内の名前を表示し、最後に Collection オブジェクト自体を破棄しないでコレクションを空にします。
この例がどのように動作するかを確認するには、[プロジェクト] メニューの [クラスの追加] コマンドをクリックし、各インスタンスの名前を保持する変数として instanceName という名前のパブリック変数を nameClass のモジュール レベルで宣言します (Public instanceName と入力)。既定の名前は nameClass のままです。次のコードをコピーして別のモジュールの全般セクションに貼り付けて、別のプロシージャでそのモジュールを classNamer ステートメントで開始します。この例は、クラスをサポートするホスト アプリケーションでのみ動作します。
Public Class nameClass Public instanceName As String End Class Sub classNamer() ' Create a Visual Basic Collection object. Dim names As New Microsoft.VisualBasic.Collection() Dim key As Integer Dim msg As String Dim name As String Dim nameList As String = "" ' 1. Get names from the user to add to the collection. Do Dim inst As New nameClass() key += 1 msg = "Please enter a name for this object." & vbCrLf _ & "Press Cancel to see names in collection." name = InputBox(msg, "Name the Collection items") inst.instanceName = name ' If user entered a name, add it to the collection. If inst.instanceName <> "" Then names.Add(inst, CStr(key)) End If Loop Until name = "" ' 2. Create and display a list of names from the collection. For Each oneInst As nameClass In names nameList &= oneInst.instanceName & vbCrLf Next oneInst MsgBox(nameList, , "Instance Names in names Collection") ' 3. Remove elements from the collection without disposing of the collection. For count As Integer = 1 To names.Count names.Remove(1) ' Since Visual Basic collections are reindexed automatically, ' remove the first member on each iteration. Next count End Sub

Microsoft.VisualBasic.Collection


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からCollection クラスを検索する場合は、下記のリンクをクリックしてください。

- Collection クラスのページへのリンク