NameObjectCollectionBase.BaseGetAllValues メソッド
NameObjectCollectionBase インスタンス内のすべての値を格納する配列を返します。
オーバーロードの一覧
NameObjectCollectionBase インスタンス内のすべての値を格納する Object 配列を返します。
[Visual Basic] Overloads Protected Function BaseGetAllValues() As Object()
NameObjectCollectionBase インスタンス内のすべての値を格納する、指定した型の配列を返します。
[Visual Basic] Overloads Protected Function BaseGetAllValues(Type) As Object()
[JScript] protected function BaseGetAllValues(Type) : Object[];
使用例
[Visual Basic, C#, C++] BaseGetAllKeys と BaseGetAllValues を使用して、キーの配列や値の配列を取得する方法については、次のコード例を参照してください。
[Visual Basic, C#, C++] メモ ここでは、BaseGetAllValues のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。
Imports System
Imports System.Collections
Imports System.Collections.Specialized
Public Class MyCollection
Inherits NameObjectCollectionBase
Private _de As New DictionaryEntry()
' Gets a key-and-value pair (DictionaryEntry) using an index.
Default Public ReadOnly Property Item(index As Integer) As DictionaryEntry
Get
_de.Key = Me.BaseGetKey(index)
_de.Value = Me.BaseGet(index)
Return _de
End Get
End Property
' Adds elements from an IDictionary into the new collection.
Public Sub New(d As IDictionary)
Dim de As DictionaryEntry
For Each de In d
Me.BaseAdd(CType(de.Key, [String]), de.Value)
Next de
End Sub 'New
' Gets a String array that contains all the keys in the collection.
Public ReadOnly Property AllKeys() As [String]()
Get
Return Me.BaseGetAllKeys()
End Get
End Property
' Gets an Object array that contains all the values in the collection.
Public ReadOnly Property AllValues() As Array
Get
Return Me.BaseGetAllValues()
End Get
End Property
' Gets a String array that contains all the values in the collection.
Public ReadOnly Property AllStringValues() As [String]()
Get
Return CType(Me.BaseGetAllValues(Type.GetType("System.String")), [String]())
End Get
End Property
End Class 'MyCollection
Public Class SamplesNameObjectCollectionBase
Public Shared Sub Main()
' Creates and initializes a new MyCollection instance.
Dim d = New ListDictionary()
d.Add("red", "apple")
d.Add("yellow", "banana")
d.Add("green", "pear")
Dim myCol As New MyCollection(d)
Console.WriteLine("Initial state of the collection (Count = {0}):", myCol.Count)
PrintKeysAndValues(myCol)
' Displays the list of keys.
Console.WriteLine("The list of keys:")
Dim s As [String]
For Each s In myCol.AllKeys
Console.WriteLine(" {0}", s)
Next s
' Displays the list of values of type Object.
Console.WriteLine("The list of values (Object):")
Dim o As [Object]
For Each o In myCol.AllValues
Console.WriteLine(" {0}", o.ToString())
Next o
' Displays the list of values of type String.
Console.WriteLine("The list of values (String):")
For Each s In myCol.AllValues
Console.WriteLine(" {0}", s)
Next s
End Sub 'Main
Public Shared Sub PrintKeysAndValues(myCol As MyCollection)
Dim i As Integer
For i = 0 To myCol.Count - 1
Console.WriteLine("[{0}] : {1}, {2}", i, myCol(i).Key, myCol(i).Value)
Next i
End Sub 'PrintKeysAndValues
End Class 'SamplesNameObjectCollectionBase
'This code produces the following output.
'
'Initial state of the collection (Count = 3):
'[0] : red, apple
'[1] : yellow, banana
'[2] : green, pear
'The list of keys:
' red
' yellow
' green
'The list of values (Object):
' apple
' banana
' pear
'The list of values (String):
' apple
' banana
' pear
[C#]
using System;
using System.Collections;
using System.Collections.Specialized;
public class MyCollection : NameObjectCollectionBase {
private DictionaryEntry _de = new DictionaryEntry();
// Gets a key-and-value pair (DictionaryEntry) using an index.
public DictionaryEntry this[ int index ] {
get {
_de.Key = this.BaseGetKey( index );
_de.Value = this.BaseGet( index );
return( _de );
}
}
// Adds elements from an IDictionary into the new collection.
public MyCollection( IDictionary d ) {
foreach ( DictionaryEntry de in d ) {
this.BaseAdd( (String) de.Key, de.Value );
}
}
// Gets a String array that contains all the keys in the collection.
public String[] AllKeys {
get {
return( this.BaseGetAllKeys() );
}
}
// Gets an Object array that contains all the values in the collection.
public Array AllValues {
get {
return( this.BaseGetAllValues() );
}
}
// Gets a String array that contains all the values in the collection.
public String[] AllStringValues {
get {
return( (String[]) this.BaseGetAllValues( Type.GetType( "System.String" ) ) );
}
}
}
public class SamplesNameObjectCollectionBase {
public static void Main() {
// Creates and initializes a new MyCollection instance.
IDictionary d = new ListDictionary();
d.Add( "red", "apple" );
d.Add( "yellow", "banana" );
d.Add( "green", "pear" );
MyCollection myCol = new MyCollection( d );
Console.WriteLine( "Initial state of the collection (Count = {0}):", myCol.Count );
PrintKeysAndValues( myCol );
// Displays the list of keys.
Console.WriteLine( "The list of keys:" );
foreach ( String s in myCol.AllKeys ) {
Console.WriteLine( " {0}", s );
}
// Displays the list of values of type Object.
Console.WriteLine( "The list of values (Object):" );
foreach ( Object o in myCol.AllValues ) {
Console.WriteLine( " {0}", o.ToString() );
}
// Displays the list of values of type String.
Console.WriteLine( "The list of values (String):" );
foreach ( String s in myCol.AllValues ) {
Console.WriteLine( " {0}", s );
}
}
public static void PrintKeysAndValues( MyCollection myCol ) {
for ( int i = 0; i < myCol.Count; i++ ) {
Console.WriteLine( "[{0}] : {1}, {2}", i, myCol[i].Key, myCol[i].Value );
}
}
}
/*
This code produces the following output.
Initial state of the collection (Count = 3):
[0] : red, apple
[1] : yellow, banana
[2] : green, pear
The list of keys:
red
yellow
green
The list of values (Object):
apple
banana
pear
The list of values (String):
apple
banana
pear
*/
[C++]
#using <mscorlib.dll>
#using <system.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;
public __gc class MyCollection : public NameObjectCollectionBase
{
private:
DictionaryEntry _de;
public:
// Gets a key-and-value pair (DictionaryEntry) using an index.
__property DictionaryEntry get_Item( int index )
{
_de.Key = this->BaseGetKey(index);
_de.Value = this->BaseGet(index);
return(_de);
}
public:
// Adds elements from an IDictionary* into the new collection.
MyCollection(IDictionary* d)
{
IEnumerator* myEnum = d->GetEnumerator();
while (myEnum->MoveNext())
{
DictionaryEntry* de = __try_cast<DictionaryEntry*>(myEnum->Current);
this->BaseAdd(__try_cast<String*>(de->Key), de->Value);
}
}
// Gets a String array that contains all the keys in the collection.
__property String* get_AllKeys()[]
{
return(this->BaseGetAllKeys());
}
// Gets an Object array that contains all the values in the collection.
__property Object* get_AllValues()[]
{
return(this->BaseGetAllValues());
}
// Gets a String array that contains all the values in the collection.
__property String* get_AllStringValues()[]
{
return((String*[]) this->BaseGetAllValues(Type::GetType(S"System::String")));
}
};
void PrintKeysAndValues(MyCollection* myCol)
{
for (int i = 0; i < myCol->Count; i++)
{
Console::WriteLine(S"->Item[ {0}] : {1}, {2}", __box(i), myCol->Item[i].Key, myCol->Item[i].Value);
}
}
int main()
{
// Creates and initializes a new MyCollection instance.
IDictionary* d = new ListDictionary();
d->Add(S"red", S"apple");
d->Add(S"yellow", S"banana");
d->Add(S"green", S"pear");
MyCollection* myCol = new MyCollection(d);
Console::WriteLine(S"Initial state of the collection (Count = {0}):", __box(myCol->Count));
PrintKeysAndValues(myCol);
// Displays the list of keys.
Console::WriteLine(S"The list of keys:");
IEnumerator* myEnum1 = myCol->AllKeys->GetEnumerator();
while (myEnum1->MoveNext())
{
String* s = __try_cast<String*>(myEnum1->Current);
Console::WriteLine(S" {0}", s);
}
// Displays the list of values of type Object.
Console::WriteLine(S"The list of values (Object):");
IEnumerator* myEnum2 = myCol->AllValues->GetEnumerator();
while (myEnum2->MoveNext())
{
Object* o = __try_cast<Object*>(myEnum2->Current);
Console::WriteLine(S" {0}", o);
}
// Displays the list of values of type String.
Console::WriteLine(S"The list of values (String):");
IEnumerator* myEnum3 = myCol->AllValues->GetEnumerator();
while (myEnum3->MoveNext())
{
String* s = __try_cast<String*>(myEnum3->Current);
Console::WriteLine(S" {0}", s);
}
}
/*
This code produces the following output.
Initial state of the collection (Count = 3):
[0] : red, apple
[1] : yellow, banana
[2] : green, pear
The list of keys:
red
yellow
green
The list of values (Object):
apple
banana
pear
The list of values (String):
apple
banana
pear
*/
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
参照
NameObjectCollectionBase クラス | NameObjectCollectionBase メンバ | System.Collections.Specialized 名前空間