NameObjectCollectionBase.BaseSet Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает значение записи в экземпляре класса NameObjectCollectionBase.
Перегрузки
| BaseSet(Int32, Object) |
Задает значение записи по указанному индексу экземпляра класса NameObjectCollectionBase. |
| BaseSet(String, Object) |
Задает значение первой записи с указанным ключом в экземпляре класса NameObjectCollectionBase, если ключ найден; в противном случае добавляет запись с указанным ключом и значением в экземпляр класса NameObjectCollectionBase. |
Примеры
В следующем примере кода используется BaseSet для задания значения определенного элемента.
#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;
public ref class MyCollection : public NameObjectCollectionBase {
// Gets or sets the value at the specified index.
public:
property Object^ default[ int ] {
Object^ get(int index) {
return( this->BaseGet( index ) );
}
void set( int index, Object^ value ) {
this->BaseSet( index, value );
}
}
// Gets or sets the value associated with the specified key.
property Object^ default[ String^ ] {
Object^ get(String^ key) {
return( this->BaseGet( key ) );
}
void set( String^ key, Object^ value ) {
this->BaseSet( key, value );
}
}
// Gets a String array that contains all the keys in the collection.
property array<String^>^ AllKeys {
array<String^>^ get() {
return( this->BaseGetAllKeys() );
}
}
// Adds elements from an IDictionary into the new collection.
MyCollection( IDictionary^ d ) {
for each ( DictionaryEntry^ de in d ) {
this->BaseAdd( (String^) de->Key, de->Value );
}
}
};
public ref class SamplesNameObjectCollectionBase {
public:
static void Main() {
// Creates and initializes a new MyCollection instance.
IDictionary^ d = gcnew ListDictionary();
d->Add( "red", "apple" );
d->Add( "yellow", "banana" );
d->Add( "green", "pear" );
MyCollection^ myCol = gcnew MyCollection( d );
Console::WriteLine( "Initial state of the collection:" );
PrintKeysAndValues2( myCol );
Console::WriteLine();
// Sets the value at index 1.
myCol[1] = "sunflower";
Console::WriteLine( "After setting the value at index 1:" );
PrintKeysAndValues2( myCol );
Console::WriteLine();
// Sets the value associated with the key "red".
myCol["red"] = "tulip";
Console::WriteLine( "After setting the value associated with the key \"red\":" );
PrintKeysAndValues2( myCol );
}
static void PrintKeysAndValues2( MyCollection^ myCol ) {
for each ( String^ s in myCol->AllKeys ) {
Console::WriteLine( "{0}, {1}", s, myCol[s] );
}
}
};
int main()
{
SamplesNameObjectCollectionBase::Main();
}
/*
This code produces the following output.
Initial state of the collection:
red, apple
yellow, banana
green, pear
After setting the value at index 1:
red, apple
yellow, sunflower
green, pear
After setting the value associated with the key "red":
red, tulip
yellow, sunflower
green, pear
*/
using System;
using System.Collections;
using System.Collections.Specialized;
public class MyCollection : NameObjectCollectionBase {
// Gets or sets the value at the specified index.
public Object this[ int index ] {
get {
return( this.BaseGet( index ) );
}
set {
this.BaseSet( index, value );
}
}
// Gets or sets the value associated with the specified key.
public Object this[ String key ] {
get {
return( this.BaseGet( key ) );
}
set {
this.BaseSet( key, value );
}
}
// Gets a String array that contains all the keys in the collection.
public String[] AllKeys {
get {
return( this.BaseGetAllKeys() );
}
}
// 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 );
}
}
}
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:" );
PrintKeysAndValues2( myCol );
Console.WriteLine();
// Sets the value at index 1.
myCol[1] = "sunflower";
Console.WriteLine( "After setting the value at index 1:" );
PrintKeysAndValues2( myCol );
Console.WriteLine();
// Sets the value associated with the key "red".
myCol["red"] = "tulip";
Console.WriteLine( "After setting the value associated with the key \"red\":" );
PrintKeysAndValues2( myCol );
}
public static void PrintKeysAndValues2( MyCollection myCol ) {
foreach ( String s in myCol.AllKeys ) {
Console.WriteLine( "{0}, {1}", s, myCol[s] );
}
}
}
/*
This code produces the following output.
Initial state of the collection:
red, apple
yellow, banana
green, pear
After setting the value at index 1:
red, apple
yellow, sunflower
green, pear
After setting the value associated with the key "red":
red, tulip
yellow, sunflower
green, pear
*/
Imports System.Collections
Imports System.Collections.Specialized
Public Class MyCollection
Inherits NameObjectCollectionBase
' Gets or sets the value at the specified index.
Default Public Property Item(index As Integer) As [Object]
Get
Return Me.BaseGet(index)
End Get
Set
Me.BaseSet(index, value)
End Set
End Property
' Gets or sets the value associated with the specified key.
Default Public Property Item(key As [String]) As [Object]
Get
Return Me.BaseGet(key)
End Get
Set
Me.BaseSet(key, value)
End Set
End Property
' 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
' 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
End Class
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:")
PrintKeysAndValues2(myCol)
Console.WriteLine()
' Sets the value at index 1.
myCol(1) = "sunflower"
Console.WriteLine("After setting the value at index 1:")
PrintKeysAndValues2(myCol)
Console.WriteLine()
' Sets the value associated with the key "red".
myCol("red") = "tulip"
Console.WriteLine("After setting the value associated with the key ""red"":")
PrintKeysAndValues2(myCol)
End Sub
Public Shared Sub PrintKeysAndValues2(myCol As MyCollection)
Dim s As [String]
For Each s In myCol.AllKeys
Console.WriteLine("{0}, {1}", s, myCol(s))
Next s
End Sub
End Class
'This code produces the following output.
'
'Initial state of the collection:
'red, apple
'yellow, banana
'green, pear
'
'After setting the value at index 1:
'red, apple
'yellow, sunflower
'green, pear
'
'After setting the value associated with the key "red":
'red, tulip
'yellow, sunflower
'green, pear
BaseSet(Int32, Object)
- Исходный код:
- NameObjectCollectionBase.cs
- Исходный код:
- NameObjectCollectionBase.cs
- Исходный код:
- NameObjectCollectionBase.cs
Задает значение записи по указанному индексу экземпляра класса NameObjectCollectionBase.
protected:
void BaseSet(int index, System::Object ^ value);
protected void BaseSet (int index, object value);
protected void BaseSet (int index, object? value);
member this.BaseSet : int * obj -> unit
Protected Sub BaseSet (index As Integer, value As Object)
Параметры
- index
- Int32
Отсчитываемый от нуля индекс задаваемого элемента.
- value
- Object
Объект Object, представляющий новое значение записи, которое требуется задать. Допускается значение null.
Исключения
Коллекция только для чтения.
index находится вне допустимого диапазона индексов для коллекции.
Комментарии
Этот метод является операцией O(1).
См. также раздел
Применяется к
BaseSet(String, Object)
- Исходный код:
- NameObjectCollectionBase.cs
- Исходный код:
- NameObjectCollectionBase.cs
- Исходный код:
- NameObjectCollectionBase.cs
Задает значение первой записи с указанным ключом в экземпляре класса NameObjectCollectionBase, если ключ найден; в противном случае добавляет запись с указанным ключом и значением в экземпляр класса NameObjectCollectionBase.
protected:
void BaseSet(System::String ^ name, System::Object ^ value);
protected void BaseSet (string name, object value);
protected void BaseSet (string? name, object? value);
member this.BaseSet : string * obj -> unit
Protected Sub BaseSet (name As String, value As Object)
Параметры
- value
- Object
Объект Object, представляющий новое значение записи, которое требуется задать. Допускается значение null.
Исключения
Коллекция только для чтения.
Комментарии
Если коллекция содержит несколько записей с указанным ключом, этот метод задает только первую запись. Чтобы задать значения последующих записей с тем же ключом, используйте перечислитель для перебора коллекции и сравнения ключей.
Этот метод является операцией O(1).