/// <summary> /// Creates a new Table with the given IEqualityComparer objects used to compare keys. /// </summary> /// <param name="rowComparer"></param> /// <param name="columnComparer"></param> public Table(IEqualityComparer <TRow> rowComparer, IEqualityComparer <TColumn> columnComparer) { RowComparer = rowComparer; ColumnComparer = columnComparer; lookup = new KeyedDictionary <TRow, KeyedDictionary <TColumn, TValue> >(RowComparer); }
/// <summary> /// Creates a new table from the given dictionary. /// </summary> /// <param name="items"></param> public Table(IDictionary <TRow, KeyedDictionary <TColumn, TValue> > items) : this() { lookup = new KeyedDictionary <TRow, KeyedDictionary <TColumn, TValue> >(items); }
public bool TryGetValue(TRow key, out KeyedDictionary <TColumn, TValue> value) { return(lookup.TryGetValue(key, out value)); }
/// <summary> /// Creates a new Empty table. /// </summary> public Table() { lookup = new KeyedDictionary <TRow, KeyedDictionary <TColumn, TValue> >(); RowComparer = EqualityComparer <TRow> .Default; ColumnComparer = EqualityComparer <TColumn> .Default; }
public void Add(TRow key, KeyedDictionary <TColumn, TValue> value) { lookup.Add(key, value); }