diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCellCollection.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCellCollection.cs index e671b3b..5e4fe6a 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCellCollection.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCellCollection.cs @@ -5,12 +5,12 @@ namespace ClosedXML.Excel { - internal class XLCellCollection : IDictionary + internal class XLCellCollection : IDictionary { - private Dictionary dictionary = new Dictionary(); + private Dictionary dictionary = new Dictionary(); - private Dictionary deleted = new Dictionary(); - public Dictionary Deleted + private Dictionary deleted = new Dictionary(); + public Dictionary Deleted { get { @@ -18,7 +18,7 @@ } } - public void Add(XLAddressLight key, XLCell value) + public void Add(IXLAddress key, XLCell value) { if (deleted.ContainsKey(key)) deleted.Remove(key); @@ -26,17 +26,17 @@ dictionary.Add(key, value); } - public bool ContainsKey(XLAddressLight key) + public bool ContainsKey(IXLAddress key) { return dictionary.ContainsKey(key); } - public ICollection Keys + public ICollection Keys { get { return dictionary.Keys; } } - public bool Remove(XLAddressLight key) + public bool Remove(IXLAddress key) { if (!deleted.ContainsKey(key)) deleted.Add(key, dictionary[key]); @@ -44,7 +44,7 @@ return dictionary.Remove(key); } - public bool TryGetValue(XLAddressLight key, out XLCell value) + public bool TryGetValue(IXLAddress key, out XLCell value) { return dictionary.TryGetValue(key, out value); } @@ -54,7 +54,7 @@ get { return dictionary.Values; } } - public XLCell this[XLAddressLight key] + public XLCell this[IXLAddress key] { get { @@ -66,7 +66,7 @@ } } - public void Add(KeyValuePair item) + public void Add(KeyValuePair item) { if (deleted.ContainsKey(item.Key)) deleted.Remove(item.Key); @@ -83,12 +83,12 @@ dictionary.Clear(); } - public bool Contains(KeyValuePair item) + public bool Contains(KeyValuePair item) { return dictionary.Contains(item); } - public void CopyTo(KeyValuePair[] array, int arrayIndex) + public void CopyTo(KeyValuePair[] array, int arrayIndex) { throw new NotImplementedException(); } @@ -103,7 +103,7 @@ get { return false; } } - public bool Remove(KeyValuePair item) + public bool Remove(KeyValuePair item) { if (!deleted.ContainsKey(item.Key)) deleted.Add(item.Key, dictionary[item.Key]); @@ -111,7 +111,7 @@ return dictionary.Remove(item.Key); } - public IEnumerator> GetEnumerator() + public IEnumerator> GetEnumerator() { return dictionary.GetEnumerator(); } @@ -130,9 +130,8 @@ { foreach (var kp in dictionary.Values.Where(predicate).Select(c=>c)) { - var key = new XLAddressLight(kp.Address.RowNumber, kp.Address.ColumnNumber); - if (!deleted.ContainsKey(key)) - deleted.Add(key, kp); + if (!deleted.ContainsKey(kp.Address)) + deleted.Add(kp.Address, kp); } dictionary.RemoveAll(predicate); diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLAddress.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLAddress.cs index 32c7dbf..7848a04 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLAddress.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLAddress.cs @@ -368,10 +368,7 @@ public override Int32 GetHashCode() { - if (columnNumber > 0 ) - return rowNumber ^ columnNumber; - else - return rowNumber ^ columnLetter.GetHashCode(); + return rowNumber ^ ColumnNumber; } #endregion diff --git a/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs b/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs index 2c4d59b..8679449 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs @@ -15,8 +15,8 @@ static void xMain(string[] args) { var l = new List(); - - for(Int32 i = 1; i <= 10; i++) + + for (Int32 i = 1; i <= 10; i++) ClosedXML_Examples.Program.ExecuteMain(); } static void Main_5961(string[] args) @@ -50,11 +50,11 @@ List runningSave = new List(); List runningLoad = new List(); List runningSavedBack = new List(); - foreach (Int32 r in Enumerable.Range(1, 1)) + foreach (Int32 r in Enumerable.Range(1, 5)) { var startTotal = DateTime.Now; var wb = new XLWorkbook(); - foreach (var i in Enumerable.Range(1, 5)) + foreach (var i in Enumerable.Range(1, 1)) { var ws = wb.Worksheets.Add("Sheet" + i); foreach (var ro in Enumerable.Range(1, 2000)) @@ -103,7 +103,7 @@ Console.WriteLine("Avg Save time: {0}", runningSave.Average()); Console.WriteLine("Avg Load time: {0}", runningLoad.Average()); Console.WriteLine("Avg Save Back time: {0}", runningSavedBack.Average()); - //Console.ReadKey(); + Console.ReadKey(); } private static IXLStyle style1; @@ -112,27 +112,27 @@ private static void FillStyles() { - style1 = XLWorkbook.DefaultStyle; - style1.Font.Bold = true; - style1.Fill.BackgroundColor = XLColor.Azure; - style1.Border.BottomBorder = XLBorderStyleValues.Medium; - style1.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; + style1 = XLWorkbook.DefaultStyle; + style1.Font.Bold = true; + style1.Fill.BackgroundColor = XLColor.Azure; + style1.Border.BottomBorder = XLBorderStyleValues.Medium; + style1.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; - style2 = XLWorkbook.DefaultStyle; - style2.Font.Italic = true; - style2.Fill.BackgroundColor = XLColor.Orange; - style2.Border.LeftBorder = XLBorderStyleValues.Medium; - style2.Alignment.Vertical = XLAlignmentVerticalValues.Center; + style2 = XLWorkbook.DefaultStyle; + style2.Font.Italic = true; + style2.Fill.BackgroundColor = XLColor.Orange; + style2.Border.LeftBorder = XLBorderStyleValues.Medium; + style2.Alignment.Vertical = XLAlignmentVerticalValues.Center; - style3 = XLWorkbook.DefaultStyle; - style3.Font.FontColor = XLColor.FromColor(Color.Red); - style3.Fill.PatternColor = XLColor.Blue; - style3.Fill.PatternType = XLFillPatternValues.DarkTrellis; - style3.Border.DiagonalBorder = XLBorderStyleValues.Dotted; + style3 = XLWorkbook.DefaultStyle; + style3.Font.FontColor = XLColor.FromColor(Color.Red); + style3.Fill.PatternColor = XLColor.Blue; + style3.Fill.PatternType = XLFillPatternValues.DarkTrellis; + style3.Border.DiagonalBorder = XLBorderStyleValues.Dotted; } private static IXLStyle GetRandomStyle() { - + var val = rnd.Next(1, 4); if (val == 1) { @@ -144,7 +144,7 @@ } else return style3; - + } private static DateTime baseDate = DateTime.Now; private static Random rnd = new Random(); @@ -162,10 +162,10 @@ else if (val == 5) return rnd.Next(1, 1000); else - return (DateTime.Now - baseDate ); + return (DateTime.Now - baseDate); } - + class Person {