From 78f10338366e05788f6ecf6ebd675b3192412064 Mon Sep 17 00:00:00 2001 From: Alexander Luzgarev Date: Sun, 3 Mar 2019 16:23:55 +0100 Subject: [PATCH] Code cleanup --- MatFileHandler/SubsystemDataReader.cs | 35 ++++++++------------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/MatFileHandler/SubsystemDataReader.cs b/MatFileHandler/SubsystemDataReader.cs index affe427..9b1b6fc 100644 --- a/MatFileHandler/SubsystemDataReader.cs +++ b/MatFileHandler/SubsystemDataReader.cs @@ -51,7 +51,7 @@ namespace MatFileHandler } var numberOfEmbeddedObjects = (offsets[4] - offsets[3] - 8) / 16; - Dictionary embeddedObjectPositionsToValues = null; + Dictionary> embeddedObjectPositionsToValues = null; using (var stream = new MemoryStream(info, offsets[3], offsets[4] - offsets[3])) { using (var reader = new BinaryReader(stream)) @@ -106,10 +106,9 @@ namespace MatFileHandler string[] fieldNames, Dictionary objectClasses, Dictionary> objectPositionsToValues, - Dictionary embeddedObjectPositionsToValues) + Dictionary> embeddedObjectPositionsToValues) { var classInfos = new Dictionary(); - var newEmbeddedObjectPositionsToValues = new Dictionary>(); foreach (var classId in classIdToName.Keys) { var className = classIdToName[classId]; @@ -136,11 +135,10 @@ namespace MatFileHandler continue; } - fieldIds.Add(embeddedObjectPositionsToValues[objectPosition].FieldIndex); - var d = new Dictionary(); - var embeddedInfo = embeddedObjectPositionsToValues[objectPosition]; - d[embeddedInfo.FieldIndex] = embeddedInfo.ValueIndex; - newEmbeddedObjectPositionsToValues[objectPosition] = d; + foreach (var fieldId in embeddedObjectPositionsToValues[objectPosition].Keys) + { + fieldIds.Add(fieldId); + } } var fieldToIndex = new Dictionary(); @@ -163,7 +161,7 @@ namespace MatFileHandler { var keyValuePair = objectClasses.First(pair => pair.Value.EmbeddedObjectPosition == objectPosition); objectInfos[keyValuePair.Key] = - new SubsystemData.ObjectInfo(newEmbeddedObjectPositionsToValues[objectPosition]); + new SubsystemData.ObjectInfo(embeddedObjectPositionsToValues[objectPosition]); } return (classInfos, objectInfos); @@ -192,10 +190,10 @@ namespace MatFileHandler return result; } - private static Dictionary ReadEmbeddedObjectPositionsToValuesMapping( + private static Dictionary> ReadEmbeddedObjectPositionsToValuesMapping( BinaryReader reader, int numberOfObjects) { - var result = new Dictionary(); + var result = new Dictionary>(); reader.ReadBytes(8); for (var objectPosition = 1; objectPosition <= numberOfObjects; objectPosition++) { @@ -203,7 +201,7 @@ namespace MatFileHandler var fieldIndex = reader.ReadInt32(); var c = reader.ReadInt32(); var valueIndex = reader.ReadInt32(); - result[objectPosition] = new EmbeddedObjectInformation(fieldIndex, valueIndex); + result[objectPosition] = new Dictionary { [fieldIndex] = valueIndex }; } return result; @@ -330,19 +328,6 @@ namespace MatFileHandler return array; } - private struct EmbeddedObjectInformation - { - public EmbeddedObjectInformation(int fieldIndex, int valueIndex) - { - FieldIndex = fieldIndex; - ValueIndex = valueIndex; - } - - public int FieldIndex { get; } - - public int ValueIndex { get; } - } - private struct ObjectClassInformation { public ObjectClassInformation(int embeddedObjectPosition, int objectPosition, int loadingOrder, int classId)