System.Collections.Specialized.NameObjectCollectionBase.BaseSet 方法 (String, Object)
上一篇:System.Configuration.ConfigurationSectionCollection.BaseSet(Int32,Object) 方法
下一篇:System.Configuration.ConfigurationSectionCollection.Clear 方法
方法描述
为 NameObjectCollectionBase 实例中第一个具有指定键的项设置值(如果有这样的项);否则将具有指定键和值的项添加到 NameObjectCollectionBase 实例中。
语法定义(C# System.Collections.Specialized.NameObjectCollectionBase.BaseSet 方法 (String, Object) 的用法)
protected void BaseSet( string name, Object value )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
name | System-String | 要设置的项的 String 键。键可以是 null。 |
value | System-Object | 表示要设置的项的新值的 Object。该值可以为 null。 |
返回值 | void |
提示和注释
如果集合包含多个具有指定键的项,则此方法只设置第一个项。 若要为后面具有同一键的项设置值,请使用枚举数循环访问集合并比较键。
此方法的运算复杂度是 O(1)。
System.Collections.Specialized.NameObjectCollectionBase.BaseSet 方法 (String, Object)例子
下面的代码示例使用 BaseSet 设置特定元素的值。
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 */
异常
异常 | 异常描述 |
---|---|
NotSupportedException | 集合为只读。 |
版本信息
.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
相关资源
上一篇:System.Configuration.ConfigurationSectionCollection.BaseSet(Int32,Object) 方法
下一篇:System.Configuration.ConfigurationSectionCollection.Clear 方法