OidEnumerator.MoveNext メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Oid オブジェクト内の次の OidCollection オブジェクトに進みます。
public:
virtual bool MoveNext();
public bool MoveNext ();
abstract member MoveNext : unit -> bool
override this.MoveNext : unit -> bool
Public Function MoveNext () As Boolean
戻り値
列挙子が次の要素に正常に進んだ場合は true
。列挙子がコレクションの末尾を越えた場合は false
。
実装
例外
コレクションは、列挙子の作成後に変更されました。
例
OidEnumerator クラスを使用するコード例を次に示します。
#using <system.dll>
using namespace System;
using namespace System::Security::Cryptography;
int main()
{
// Assign values to strings.
String^ Value1 = "1.2.840.113549.1.1.1";
String^ Name1 = "3DES";
String^ Value2 = "1.3.6.1.4.1.311.20.2";
String^ InvalidName = "This name is not a valid name";
String^ InvalidValue = "1.1.1.1.1.1.1.1";
// Create new Oid objects using the specified values.
// Note that the corresponding Value or Friendly Name property is automatically added to the object.
Oid ^ o1 = gcnew Oid( Value1 );
Oid ^ o2 = gcnew Oid( Name1 );
// Create a new Oid object using the specified Value and Friendly Name properties.
// Note that the two are not compared to determine if the Value is associated
// with the Friendly Name.
Oid ^ o3 = gcnew Oid( Value2,InvalidName );
//Create a new Oid object using the specified Value. Note that if the value
// is invalid or not known, no value is assigned to the Friendly Name property.
Oid ^ o4 = gcnew Oid( InvalidValue );
//Write out the property information of the Oid objects.
Console::WriteLine( "Oid1: Automatically assigned Friendly Name: {0}, {1}", o1->FriendlyName, o1->Value );
Console::WriteLine( "Oid2: Automatically assigned Value: {0}, {1}", o2->FriendlyName, o2->Value );
Console::WriteLine( "Oid3: Name and Value not compared: {0}, {1}", o3->FriendlyName, o3->Value );
Console::WriteLine( "Oid4: Invalid Value used: {0}, {1} {2}", o4->FriendlyName, o4->Value, Environment::NewLine );
//Create an Oid collection and add several Oid objects.
OidCollection ^ oc = gcnew OidCollection;
oc->Add( o1 );
oc->Add( o2 );
oc->Add( o3 );
Console::WriteLine( "Number of Oids in the collection: {0}", oc->Count );
Console::WriteLine( "Is synchronized: {0} {1}", oc->IsSynchronized, Environment::NewLine );
//Create an enumerator for moving through the collection.
OidEnumerator ^ oe = oc->GetEnumerator();
//You must execute a MoveNext() to get to the first item in the collection.
oe->MoveNext();
// Write out Oids in the collection.
Console::WriteLine( "First Oid in collection: {0},{1}", oe->Current->FriendlyName, oe->Current->Value );
oe->MoveNext();
Console::WriteLine( "Second Oid in collection: {0},{1}", oe->Current->FriendlyName, oe->Current->Value );
//Return index in the collection to the beginning.
oe->Reset();
}
using System;
using System.Security.Cryptography;
public class OidSample
{
public static void Main()
{
// Assign values to strings.
string Value1 = "1.2.840.113549.1.1.1";
string Name1 = "3DES";
string Value2 = "1.3.6.1.4.1.311.20.2";
string InvalidName = "This name is not a valid name";
string InvalidValue = "1.1.1.1.1.1.1.1";
// Create new Oid objects using the specified values.
// Note that the corresponding Value or Friendly Name property is automatically added to the object.
Oid o1 = new Oid(Value1);
Oid o2 = new Oid(Name1);
// Create a new Oid object using the specified Value and Friendly Name properties.
// Note that the two are not compared to determine if the Value is associated
// with the Friendly Name.
Oid o3 = new Oid(Value2, InvalidName);
//Create a new Oid object using the specified Value. Note that if the value
// is invalid or not known, no value is assigned to the Friendly Name property.
Oid o4 = new Oid(InvalidValue);
//Write out the property information of the Oid objects.
Console.WriteLine("Oid1: Automatically assigned Friendly Name: {0}, {1}", o1.FriendlyName, o1.Value);
Console.WriteLine("Oid2: Automatically assigned Value: {0}, {1}", o2.FriendlyName, o2.Value);
Console.WriteLine("Oid3: Name and Value not compared: {0}, {1}", o3.FriendlyName, o3.Value);
Console.WriteLine("Oid4: Invalid Value used: {0}, {1} {2}", o4.FriendlyName, o4.Value, Environment.NewLine);
//Create an Oid collection and add several Oid objects.
OidCollection oc = new OidCollection();
oc.Add(o1);
oc.Add(o2);
oc.Add(o3);
Console.WriteLine("Number of Oids in the collection: {0}", oc.Count);
Console.WriteLine("Is synchronized: {0} {1}", oc.IsSynchronized, Environment.NewLine);
//Create an enumerator for moving through the collection.
OidEnumerator oe = oc.GetEnumerator();
//You must execute a MoveNext() to get to the first item in the collection.
oe.MoveNext();
// Write out Oids in the collection.
Console.WriteLine("First Oid in collection: {0},{1}", oe.Current.FriendlyName,oe.Current.Value);
oe.MoveNext();
Console.WriteLine("Second Oid in collection: {0},{1}", oe.Current.FriendlyName, oe.Current.Value);
//Return index in the collection to the beginning.
oe.Reset();
}
}
Imports System.Security.Cryptography
Public Class OidSample
Shared msg As String
Public Shared Sub Main()
' Assign values to strings.
Dim Value1 As String = "1.2.840.113549.1.1.1"
Dim Name1 As String = "3DES"
Dim Value2 As String = "1.3.6.1.4.1.311.20.2"
Dim InvalidName As String = "This name is not a valid name"
Dim InvalidValue As String = "1.1.1.1.1.1.1.1"
' Create new Oid objects using the specified values.
' Note that the corresponding Value or Friendly Name property is automatically added to the object.
Dim o1 As New Oid(Value1)
Dim o2 As New Oid(Name1)
' Create a new Oid object using the specified Value and Friendly Name properties.
' Note that the two are not compared to determine if the Value is associated
' with the Friendly Name.
Dim o3 As New Oid(Value2, InvalidName)
'Create a new Oid object using the specified Value. Note that if the value
' is invalid or not known, no value is assigned to the Friendly Name property.
Dim o4 As New Oid(InvalidValue)
'Write out the property information of the Oid objects.
msg = "Oid1: Automatically assigned Friendly Name: " & o1.FriendlyName & ", " & o1.Value
MsgBox(msg)
'Console.WriteLine("Oid1: Automatically assigned Friendly Name: {0}, {1}", o1.FriendlyName, o1.Value)
'Console.WriteLine("Oid2: Automatically assigned Value: {0}, {1}", o2.FriendlyName, o2.Value)
msg = "Oid2: Automatically assigned Value: " & o2.FriendlyName & ", " & o2.Value
MsgBox(msg)
'Console.WriteLine("Oid3: Name and Value not compared: {0}, {1}", o3.FriendlyName, o3.Value)
msg = "Oid3: Name and Value not compared: " & o3.FriendlyName & ", " & o3.Value
MsgBox(msg)
' Console.WriteLine("Oid4: Invalid Value used: {0}, {1} {2}", o4.FriendlyName, o4.Value, Environment.NewLine)
msg = "Oid4: Invalid Value used: " & o4.FriendlyName & ", " & o4.Value
MsgBox(msg)
'Create an Oid collection and add several Oid objects.
Dim oc As New OidCollection()
oc.Add(o1)
oc.Add(o2)
oc.Add(o3)
' Console.WriteLine("Number of Oids in the collection: {0}", oc.Count)
' Console.WriteLine("Is synchronized: {0} {1}", oc.IsSynchronized, Environment.NewLine)
msg = "Number of Oids in the collection: " & oc.Count
MsgBox(msg)
msg = "Is synchronized: " & oc.IsSynchronized
MsgBox(msg)
'Create an enumerator for moving through the collection.
Dim oe As OidEnumerator = oc.GetEnumerator()
'You must execute a MoveNext() to get to the first item in the collection.
oe.MoveNext()
' Write out Oids in the collection.
'Console.WriteLine("First Oid in collection: {0},{1}", oe.Current.FriendlyName, oe.Current.Value)
msg = "First Oid in collection: " & oe.Current.FriendlyName & ", " & oe.Current.Value
MsgBox(msg)
oe.MoveNext()
' Console.WriteLine("Second Oid in collection: {0},{1}", oe.Current.FriendlyName, oe.Current.Value)
msg = "Second Oid in collection: " & oe.Current.FriendlyName & ", " & oe.Current.Value
MsgBox(msg)
'Return index in the collection to the beginning.
oe.Reset()
End Sub
End Class
注釈
列挙子が作成されると、その列挙子はコレクションの最初の要素の前に配置され、メソッドの MoveNext 最初の呼び出しによって列挙子がコレクションの最初の要素の上に移動されます。 の後続の呼び出し MoveNext は、列挙子をコレクション内の後続の項目の後に進めます。
コレクションの末尾が渡された後、 を呼び出して を MoveNext 返します false
。
列挙子は、コレクションが変更されない限り有効です。 要素の追加、変更、削除など、コレクションに変更が加えられた場合、列挙子は無効になり、 を次に MoveNext 呼び出すと が InvalidOperationExceptionスローされます。
適用対象
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET