次の方法で共有


Strokes.GetEnumerator メソッド

IEnumerator インターフェイスを実装し、Strokes コレクション内の Stroke オブジェクトを反復処理できるオブジェクトを返します。

名前空間 :  Microsoft.Ink
アセンブリ :  Microsoft.Ink (Microsoft.Ink.dll 内)

構文

'宣言
Public Function GetEnumerator As Strokes..::.StrokesEnumerator
'使用
Dim instance As Strokes
Dim returnValue As Strokes..::.StrokesEnumerator

returnValue = instance.GetEnumerator()
public Strokes..::.StrokesEnumerator GetEnumerator()
public:
Strokes..::.StrokesEnumerator^ GetEnumerator()
public Strokes..::.StrokesEnumerator GetEnumerator()
public function GetEnumerator() : Strokes..::.StrokesEnumerator

戻り値

型 : Microsoft.Ink.Strokes.StrokesEnumerator
IEnumerator インターフェイスを実装し、Strokes コレクション内の Stroke オブジェクトを反復処理できるオブジェクトを返します。

これらの例では、Strokes コレクションを列挙して、コレクションに含まれる各 Stroke オブジェクトを取得する方法を 2 つ示します。Strokes コレクションは、Ink.Strokes プロパティによって返されます。

この例では、Strokes コレクション用に IEnumerator を取得し、これを使用してコレクションをスキャンします。

Private Sub EnumerateStrokesWithEnumerator(ByVal mInk As Ink)
    ' access the Strokes property via using statement
    ' to insure that the object mStrokes is disposed when finished
    ' Otherwise, you will have a memory leak
    Using mStrokes As Strokes = mInk.Strokes
        Dim mStrokesEnumerator As IEnumerator = mStrokes.GetEnumerator()
        mStrokesEnumerator.Reset()
        While (mStrokesEnumerator.MoveNext())
            Dim S As Stroke = DirectCast(mStrokesEnumerator.Current, Stroke)
            Me.listBoxStrokeId.Items.Add(S.Id)
        End While
    End Using
End Sub
private void EnumerateStrokesWithEnumerator(Ink mInk)
{
    // access the Strokes property via using statement
    // to insure that the object mStrokes is disposed when finished
    // Otherwise, you will have a memory leak
    using (Strokes mStrokes = mInk.Strokes)
    {
        IEnumerator mStrokesEnumerator = mStrokes.GetEnumerator();
        mStrokesEnumerator.Reset();
        while (mStrokesEnumerator.MoveNext())
        {
            Stroke S = (Stroke)mStrokesEnumerator.Current;
            this.listBoxStrokeId.Items.Add(S.Id);
        }
    }
}

この例では、foreach ステートメントを使用します。このステートメントは、ステートメントをサポートするためにコンパイラが生成する内部コードで、GetEnumerator メソッドを呼び出します。

Private Sub EnumerateStrokesWithForEach(ByVal mInk As Ink)
    ' access the Strokes property via using statement
    ' to insure that the object mStrokes is disposed when finished
    ' Otherwise, you will have a memory leak
    Using mStrokes As Strokes = mInk.Strokes
        For Each S As Stroke In mStrokes
            Me.listBoxStrokeId.Items.Add(S.Id)
        Next
    End Using
End Sub
private void EnumerateStrokesWithForEach(Ink mInk)
{    
    // access the Strokes property via using statement
    // to insure that the object mStrokes is disposed when finished
    // Otherwise, you will have a memory leak
    using (Strokes mStrokes = mInk.Strokes)
    {
        foreach (Stroke S in mStrokes)
        {
            this.listBoxStrokeId.Items.Add(S.Id);
        }
    }
}

プラットフォーム

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

Strokes クラス

Strokes メンバ

Microsoft.Ink 名前空間

Stroke

Ink.Strokes