<PackageReference Include="System.Configuration.ConfigurationManager" Version="4.7.0-preview2.19523.17" />

NameValueConfigurationCollection

Contains a collection of NameValueConfigurationElement objects. This class cannot be inherited.
namespace System.Configuration { [ConfigurationCollection(typeof(NameValueConfigurationElement))] public sealed class NameValueConfigurationCollection : ConfigurationElementCollection { private static readonly ConfigurationPropertyCollection s_properties; protected internal override ConfigurationPropertyCollection Properties => s_properties; public new NameValueConfigurationElement this[string name] { get { return (NameValueConfigurationElement)BaseGet(name); } set { int index = -1; NameValueConfigurationElement nameValueConfigurationElement = (NameValueConfigurationElement)BaseGet(name); if (nameValueConfigurationElement != null) { index = BaseIndexOf(nameValueConfigurationElement); BaseRemoveAt(index); } BaseAdd(index, value); } } public string[] AllKeys => StringUtil.ObjectArrayToStringArray(BaseGetAllKeys()); static NameValueConfigurationCollection() { s_properties = new ConfigurationPropertyCollection(); } public void Add(NameValueConfigurationElement nameValue) { BaseAdd(nameValue); } public void Remove(NameValueConfigurationElement nameValue) { if (BaseIndexOf(nameValue) >= 0) BaseRemove(nameValue.Name); } public void Remove(string name) { BaseRemove(name); } public void Clear() { BaseClear(); } protected override ConfigurationElement CreateNewElement() { return new NameValueConfigurationElement(); } protected override object GetElementKey(ConfigurationElement element) { return ((NameValueConfigurationElement)element).Name; } } }