public NameValueCollection(NameValueCollection col) { if (col == null) throw new ArgumentNullException("col"); _collection = new Dictionary<string, IList<string>>(col._collection, StringComparer.InvariantCultureIgnoreCase); }
//[Obsolete ("Use NameValueCollection (IEqualityComparer)")] //public NameValueCollection (IHashCodeProvider hashProvider, IComparer comparer) // : base (hashProvider, comparer) //{ //} public NameValueCollection(int capacity, NameValueCollection col) { _collection = new Dictionary<string, IList<string>>(col._collection, StringComparer.InvariantCultureIgnoreCase); }
public void Add(NameValueCollection c) { //if (this.IsReadOnly) // throw new NotSupportedException ("Collection is read-only"); if (c == null) throw new ArgumentNullException("c"); // make sense - but it's not the exception thrown // throw new ArgumentNullException (); InvalidateCachedArrays(); foreach (var kv in c._collection) { IList<string> values; if (!_collection.TryGetValue(kv.Key, out values)) { values = new List<string>(); _collection[kv.Key] = values; } foreach (var v in kv.Value) { if (null != v) values.Add(v); } } }