Bewerken

Share via


NameObjectCollectionBase.BaseHasKeys Method

Definition

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

protected:
 bool BaseHasKeys();
protected bool BaseHasKeys ();
member this.BaseHasKeys : unit -> bool
Protected Function BaseHasKeys () As Boolean

Returns

true if the NameObjectCollectionBase instance contains entries whose keys are not null; otherwise, false.

Examples

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

#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

*/
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 );
      }
   }

   // Creates an empty collection.
   public MyCollection()  {
   }

   // Adds an entry to the collection.
   public 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.
   public Boolean HasKeys  {
      get  {
         return( this.BaseHasKeys() );
      }
   }
}

public class SamplesNameObjectCollectionBase  {

   public static void Main()  {

      // Creates an empty MyCollection instance.
      MyCollection myCol = new 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 );
   }

   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 = 0):
HasKeys? False

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

*/
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

   ' Creates an empty collection.
   Public Sub New()
   End Sub

   ' Adds an entry to the collection.
   Public Sub Add(key As [String], value As [Object])
      Me.BaseAdd(key, value)
   End Sub

   ' Gets a value indicating whether the collection contains keys that are not a null reference.
   Public ReadOnly Property HasKeys() As [Boolean]
      Get
         Return Me.BaseHasKeys()
      End Get
   End Property

End Class


Public Class SamplesNameObjectCollectionBase   

   Public Shared Sub Main()

      ' Creates an empty MyCollection instance.
      Dim myCol As New 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)

   End Sub

   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

End Class


'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

Remarks

This method is an O(1) operation.

Applies to