NameObjectCollectionBase.BaseHasKeys 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得值,表示 NameObjectCollectionBase 執行個體是否包含其索引鍵不是 null
的項目。
protected:
bool BaseHasKeys();
protected bool BaseHasKeys ();
member this.BaseHasKeys : unit -> bool
Protected Function BaseHasKeys () As Boolean
傳回
如果 NameObjectCollectionBase 執行個體包含其索引鍵不是 null
的項目,則為 true
,否則為 false
。
範例
下列程式代碼範例會使用 BaseHasKeys 來判斷集合是否包含不是 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
備註
這個方法是 O (1) 作業。