/// <summary> /// Creates a new OrderedDictionary. The passed delegate will be used to compare keys in this dictionary. /// </summary> /// <param name="comparison">A delegate to a method that will be used to compare keys.</param> public OrderedDictionary(Comparison <TKey> comparison) : this(null, Comparers.ComparerFromComparison <TKey>(comparison), Comparers.ComparerKeyValueFromComparisonKey <TKey, TValue>(comparison)) { }
/// <summary> /// Creates a new OrderedDictionary. The TKey must implemented IComparable<TKey> /// or IComparable. /// The CompareTo method of this interface will be used to compare keys in this dictionary. /// </summary> /// <exception cref="InvalidOperationException">TKey does not implement IComparable<TKey>.</exception> public OrderedDictionary() : this(Comparers.DefaultComparer <TKey>()) { }
/// <summary> /// <para>Creates a new OrderedDictionary. The passed delegate will be used to compare keys in this dictionary.</para> /// <para>A collection and keys and values (typically another dictionary) is used to initialized the /// contents of the dictionary.</para> /// </summary> /// <param name="keysAndValues">A collection of keys and values whose contents are used to initialized the dictionary.</param> /// <param name="comparison">A delegate to a method that will be used to compare keys.</param> public OrderedDictionary(IEnumerable <KeyValuePair <TKey, TValue> > keysAndValues, Comparison <TKey> comparison) : this(keysAndValues, Comparers.ComparerFromComparison <TKey>(comparison), Comparers.ComparerKeyValueFromComparisonKey <TKey, TValue>(comparison)) { }
/// <summary> /// <para>Creates a new OrderedDictionary. The TKey must implemented IComparable<TKey> /// or IComparable. /// The CompareTo method of this interface will be used to compare keys in this dictionary.</para> /// <para>A collection and keys and values (typically another dictionary) is used to initialized the /// contents of the dictionary.</para> /// </summary> /// <param name="keysAndValues">A collection of keys and values whose contents are used to initialized the dictionary.</param> /// <exception cref="InvalidOperationException">TKey does not implement IComparable<TKey>.</exception> public OrderedDictionary(IEnumerable <KeyValuePair <TKey, TValue> > keysAndValues) : this(keysAndValues, Comparers.DefaultComparer <TKey>()) { }
/// <summary> /// <para>Creates a new OrderedDictionary. The Compare method of the passed comparison object /// will be used to compare keys in this dictionary.</para> /// <para>A collection and keys and values (typically another dictionary) is used to initialized the /// contents of the dictionary.</para> /// </summary> /// <remarks> /// The GetHashCode and Equals methods of the provided IComparer<TKey> will never /// be called, and need not be implemented.</remarks> /// <param name="keysAndValues">A collection of keys and values whose contents are used to initialized the dictionary.</param> /// <param name="comparer">An instance of IComparer<TKey> that will be used to compare keys.</param> public OrderedDictionary(IEnumerable<KeyValuePair<TKey, TValue>> keysAndValues, IComparer<TKey> comparer) : this(keysAndValues, comparer, Comparers.ComparerKeyValueFromComparerKey<TKey, TValue>(comparer)) { if (comparer == null) throw new ArgumentNullException("comparer"); }
/// <summary> /// Creates a new OrderedDictionary. The Compare method of the passed comparison object /// will be used to compare keys in this dictionary. /// </summary> /// <remarks> /// The GetHashCode and Equals methods of the provided IComparer<TKey> will never /// be called, and need not be implemented.</remarks> /// <param name="comparer">An instance of IComparer<TKey> that will be used to compare keys.</param> public OrderedDictionary(IComparer<TKey> comparer) : this(null, comparer, Comparers.ComparerKeyValueFromComparerKey<TKey, TValue>(comparer)) { if (comparer == null) throw new ArgumentNullException("comparer"); }