コレクション内のオブジェクトの数を参照するには、次のように、コレクションの Count プロパティを使用します。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
' 変数に C1TrueDBGrid1 内のスプリットの数を設定します variable = Me.C1TrueDBGrid1.Splits.Count |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
// 変数に C1TrueDBGrid1 内のスプリットの数を設定します variable = this.c1TrueDBGrid1.Splits.Count; |
|
次の例のように、Count プロパティを使用して、コレクション内のすべてのオブジェクトを反復処理することもできます。このコードは、グリッド内の各 C1DataColumn オブジェクトの Caption 文字列を出力しています。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
For n = 0 To Me.C1TrueDBGrid1.Columns.Count - 1
Debug.WriteLine(Me.C1TrueDBGrid1.Columns(n).Caption)
Next n
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
for (n = 0; n < this.c1TrueDBGrid1.Columns.Count; n++)
{
Console.WriteLine(this.c1TrueDBGrid1.Columns[n].Caption);
}
|
|
Count プロパティは、列の追加や削除にも便利です。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
' 何列あるかを決定します
Dim NumCols As Integer
NumCols = Me.C1TrueDBGrid1.Columns.Count
' Columns コレクションの最後に列を追加します
Dim C As C1TrueDBGrid.C1DataColumn = New C1TrueDBGrid.C1DataColumn()
Me.C1TrueDBGrid1.Columns.Insert(NumCols, C)
' 新しい列を可視にします。実行時に作成される列はデフォルトでは不可視です
Me.C1TrueDBGrid1.Splits(0).DisplayColumns(C).Visible = True
'次のループは、グリッドからすべての列を削除します
While Me.C1TrueDBGrid1.Columns.Count
Me.C1TrueDBGrid1.Columns.RemoveAt(0)
End While
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
// 何列あるかを決定します
int NumCols;
NumCols = this.c1TrueDBGrid1.Columns.Count;
// Columns コレクションの最後に列を追加します
C1TrueDBGrid.C1DataColumn C = new C1TrueDBGrid.C1DataColumn();
this.c1TrueDBGrid1.Columns.Insert(NumCols, C);
// 新しい列を可視にします。実行時に作成される列はデフォルトでは不可視です
this.c1TrueDBGrid1.Splits[0].DisplayColumns[C].Visible = true;
// 次のループは、グリッドからすべての列を削除します
while ( this.c1TrueDBGrid1.Columns.Count > 0 )
{
this.c1TrueDBGrid1.Columns.RemoveAt(0);
}
|
|
コレクション内のオブジェクトを効率よく反復処理できるように、Visual Basic には For Each...Next 文(C#では、foreach)も用意されています。この文を使用すると、Count プロパティを使用する必要がありません。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Dim C As C1TrueDBGrid.C1DataColumn
For Each C In Me.C1TrueDBGrid1.Columns
Debug.WriteLine(C.Caption)
Next S
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
C1TrueDBGrid.C1DataColumn c;
foreach (c In this.c1TrueDBGrid1.Columns)
{
Console.WriteLine(c);
}
|
|
実際、コレクション内のオブジェクトを反復処理する場合は、For Each...Next 文を使用することをお勧めします。