Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

NameObjectCollectionBase::BaseHasKeys Method

Gets a value indicating whether the NameObjectCollectionBase instance contains entries whose keys are not nullptr.

Namespace:  System.Collections.Specialized
Assembly:  System (in System.dll)

protected:
bool BaseHasKeys()

Return Value

Type: System::Boolean
true if the NameObjectCollectionBase instance contains entries whose keys are not nullptr; otherwise, false.

This method is an O(1) operation.

The following code example uses BaseHasKeys to determine if the collection contains keys that are not nullptr.

#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;

public ref class MyCollection : public NameObjectCollectionBase  {

private:
   DictionaryEntry^ _de;

   // Gets a key-and-value pair (DictionaryEntry) using an index. 
public:
   property DictionaryEntry^ default[ int ]  {
      DictionaryEntry^ get(int index)  {
         _de->Key = this->BaseGetKey( index );
         _de->Value = this->BaseGet( index );
         return( _de );
      }
   }

   // Creates an empty collection.
   MyCollection()  {
      _de = gcnew DictionaryEntry();
   }

   // Adds an entry to the collection. 
   void Add( String^ key, Object^ value )  {
      this->BaseAdd( key, value );
   }

   // Gets a value indicating whether the collection contains keys that are not a null reference. 
   property Boolean HasKeys  {
      Boolean get()  {
         return( this->BaseHasKeys() );
      }
   }
};

void PrintKeysAndValues( MyCollection^ myCol )  {
   for ( int i = 0; i < myCol->Count; i++ )  {
      Console::WriteLine( "[{0}] : {1}, {2}", i, myCol[i]->Key, myCol[i]->Value );
   }
}

int main()  {

   // Creates an empty MyCollection instance.
   MyCollection^ myCol = gcnew MyCollection();
   Console::WriteLine( "Initial state of the collection (Count = {0}):", myCol->Count );
   PrintKeysAndValues( myCol );
   Console::WriteLine( "HasKeys? {0}", myCol->HasKeys );

   Console::WriteLine();

   // Adds an item to the collection.
   myCol->Add( "blue", "sky" );
   Console::WriteLine( "Initial state of the collection (Count = {0}):", myCol->Count );
   PrintKeysAndValues( myCol );
   Console::WriteLine( "HasKeys? {0}", myCol->HasKeys );

}

/*
This code produces the following output.

Initial state of the collection (Count = 0):
HasKeys? False

Initial state of the collection (Count = 1):
[0] : blue, sky
HasKeys? True

*/

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0
Show:
© 2015 Microsoft