public static IList <ValuesMap> ParseExperimentsConfigurationsCsv(string responseCsv) { string[] lines = responseCsv.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None); string[] headers = lines[0].Split(','); // TODO: a memory usage disaster! var recordsList = new List <ValuesMap>(); for (int lineIndex = 1; lineIndex < lines.Length; ++lineIndex) { var line = lines[lineIndex]; var values = line.Split(','); // TODO: check values count in each line? if (values.Length > 0 && values[0] != "") { var record = new ValuesMap(); for (int valIndex = 0; valIndex < values.Length; ++valIndex) { record.Add(headers [valIndex], values [valIndex]); } recordsList.Add(record); } } return(recordsList); }
public ValuesMap ShallowCopy() { var vmp = new ValuesMap(); foreach (var obj in this) { vmp.Add(obj.Key, obj.Value); } return(vmp); }