1 次元の Array インスタンスの指定したインデックス位置に、文字列ディクショナリの値をコピーします。
名前空間: System.Collections.Specialized
アセンブリ: System (system.dll 内)
構文
'宣言
Public Overridable Sub CopyTo ( _
array As Array, _
index As Integer _
)
'使用
Dim instance As StringDictionary
Dim array As Array
Dim index As Integer
instance.CopyTo(array, index)
public virtual void CopyTo (
Array array,
int index
)
public:
virtual void CopyTo (
Array^ array,
int index
)
public void CopyTo (
Array array,
int index
)
public function CopyTo (
array : Array,
index : int
)
パラメータ
- array
StringDictionary からコピーされる値のコピー先となる 1 次元 Array。
- index
配列内のコピー開始位置を示すインデックス。
例外
例外の種類 | 条件 |
---|---|
array が多次元です。 または StringDictionary の要素数が、index から array の末尾までに格納できる数を超えています。 |
|
array が null 参照 (Visual Basic では Nothing) です。 |
|
index が array の下限より小さい値です。 |
解説
CopyTo は、System.Collections.DictionaryEntry に型キャストできるオブジェクトをコピーします。DictionaryEntry には、キーと値の両方が格納されます。
Array にコピーされる要素は、列挙子が StringDictionary を反復処理するのと同じ順序で並べ替えられます。
このメソッドは O(n) 操作です。ここで、n は Count です。
使用例
StringDictionary を配列にコピーする方法については、次のコード例を参照してください。
Imports System
Imports System.Collections
Imports System.Collections.Specialized
Imports Microsoft.VisualBasic
Public Class SamplesStringDictionary
Public Shared Sub Main()
' Creates and initializes a new StringDictionary.
Dim myCol As New StringDictionary()
myCol.Add("red", "rojo")
myCol.Add("green", "verde")
myCol.Add("blue", "azul")
' Displays the values in the StringDictionary.
Console.WriteLine("KEYS" + ControlChars.Tab + "VALUES in the StringDictionary")
Dim myDE As DictionaryEntry
For Each myDE In myCol
Console.WriteLine("{0}" + ControlChars.Tab + "{1}", myDE.Key, myDE.Value)
Next myDE
Console.WriteLine()
' Creates an array with DictionaryEntry elements.
Dim myArr As DictionaryEntry() = {New DictionaryEntry(), New DictionaryEntry(), New DictionaryEntry()}
' Copies the StringDictionary to the array.
myCol.CopyTo(myArr, 0)
' Displays the values in the array.
Console.WriteLine("KEYS" + ControlChars.Tab + "VALUES in the array")
Dim i As Integer
For i = 0 To myArr.Length - 1
Console.WriteLine("{0}" + ControlChars.Tab + "{1}", myArr(i).Key, myArr(i).Value)
Next i
Console.WriteLine()
End Sub 'Main
End Class 'SamplesStringDictionary
'This code produces the following output.
'
'KEYS VALUES in the StringDictionary
'green verde
'red rojo
'blue azul
'
'KEYS VALUES in the array
'green verde
'red rojo
'blue azul
using System;
using System.Collections;
using System.Collections.Specialized;
public class SamplesStringDictionary {
public static void Main() {
// Creates and initializes a new StringDictionary.
StringDictionary myCol = new StringDictionary();
myCol.Add( "red", "rojo" );
myCol.Add( "green", "verde" );
myCol.Add( "blue", "azul" );
// Displays the values in the StringDictionary.
Console.WriteLine( "KEYS\tVALUES in the StringDictionary" );
foreach ( DictionaryEntry myDE in myCol )
Console.WriteLine( "{0}\t{1}", myDE.Key, myDE.Value );
Console.WriteLine();
// Creates an array with DictionaryEntry elements.
DictionaryEntry[] myArr = { new DictionaryEntry(), new DictionaryEntry(), new DictionaryEntry() };
// Copies the StringDictionary to the array.
myCol.CopyTo( myArr, 0 );
// Displays the values in the array.
Console.WriteLine( "KEYS\tVALUES in the array" );
for ( int i = 0; i < myArr.Length; i++ )
Console.WriteLine( "{0}\t{1}", myArr[i].Key, myArr[i].Value );
Console.WriteLine();
}
}
/*
This code produces the following output.
KEYS VALUES in the StringDictionary
green verde
red rojo
blue azul
KEYS VALUES in the array
green verde
red rojo
blue azul
*/
#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;
void main()
{
// Creates and initializes a new StringDictionary.
StringDictionary^ myCol = gcnew StringDictionary;
myCol->Add( "red", "rojo" );
myCol->Add( "green", "verde" );
myCol->Add( "blue", "azul" );
// Displays the values in the StringDictionary.
Console::WriteLine( "KEYS\tVALUES in the StringDictionary" );
IEnumerator^ myEnum = myCol->GetEnumerator();
while ( myEnum->MoveNext() )
{
DictionaryEntry^ myDE = safe_cast<DictionaryEntry^>(myEnum->Current);
Console::WriteLine( "{0}\t{1}", myDE->Key, myDE->Value );
Console::WriteLine();
// Creates an array with DictionaryEntry elements.
array<DictionaryEntry>^myArr = gcnew array<DictionaryEntry>(3);
// Copies the StringDictionary to the array.
myCol->CopyTo( myArr, 0 );
// Displays the values in the array.
Console::WriteLine( "KEYS\tVALUES in the array" );
for ( int i = 0; i < myArr->Length; i++ )
Console::WriteLine( "{0}\t{1}", myArr[ i ].Key, myArr[ i ].Value );
Console::WriteLine();
}
}
/*
This code produces the following output.
KEYS VALUES in the StringDictionary
green verde
red rojo
blue azul
KEYS VALUES in the array
green verde
red rojo
blue azul
*/
import System.* ;
import System.Collections.IEnumerator;
import System.Collections.DictionaryEntry;
import System.Collections.Specialized.* ;
public class SamplesStringDictionary
{
public static void main(String[] args)
{
// Creates and initializes a new StringDictionary.
StringDictionary myCol = new StringDictionary();
myCol.Add("red", "rojo");
myCol.Add("green", "verde");
myCol.Add("blue", "azul");
// Displays the values in the StringDictionary.
Console.WriteLine("KEYS\tVALUES in the StringDictionary");
IEnumerator objEnum = myCol.GetEnumerator();
while (objEnum.MoveNext()) {
DictionaryEntry myDE = (DictionaryEntry)objEnum.get_Current();
Console.WriteLine("{0}\t{1}", myDE.get_Key(), myDE.get_Value());
}
Console.WriteLine();
// Creates an array with DictionaryEntry elements.
DictionaryEntry myArr[] = {new DictionaryEntry(),
new DictionaryEntry(), new DictionaryEntry()};
// Copies the StringDictionary to the array.
myCol.CopyTo(myArr, 0);
// Displays the values in the array.
Console.WriteLine("KEYS\tVALUES in the array");
for (int i=0; i < myArr.length; i++) {
Console.WriteLine("{0}\t{1}", myArr[i].get_Key(),
myArr[i].get_Value());
}
Console.WriteLine();
} //main
} //SamplesStringDictionary
/*
This code produces the following output.
KEYS VALUES in the StringDictionary
green verde
red rojo
blue azul
KEYS VALUES in the array
green verde
red rojo
blue azul
*/
プラットフォーム
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0
.NET Compact Framework
サポート対象 : 2.0
参照
関連項目
StringDictionary クラス
StringDictionary メンバ
System.Collections.Specialized 名前空間