/// <summary> /// override GetHashCode /// </summary> /// <returns></returns> public override int GetHashCode() { unchecked { return(((CoefficientList?.GetHashCode() ?? 0) * 397) ^ Size); } }
static Coefficient() { using (var reader = new StreamReader($"{Const.SettingsDirName}/{Const.CoefficientsSettings}")) { Dictionary <int, (string, Metric)> columnNumToName = null; while (!reader.EndOfStream) { string[] data = reader.ReadLine()?.Split(';'); if (data?[0] == "Name") { columnNumToName = new Dictionary <int, (string, Metric)>(data.Length); bool isMetric = false; for (var i = 0; i < data.Length; i++) { if (data[i] == "#Metrics") { isMetric = true; columnNumToName.Add(i, ("", null)); } else { Metric m = null; if (isMetric) { m = new Metric(data[i]); MetricsList.Add(m); } columnNumToName.Add(i, (data[i], m)); } } } else if (!string.IsNullOrEmpty(data?[0])) { CoefficientList.Add(ParseCoefficient(data, columnNumToName)); } } } }
public static Coefficient Get(string name) { return(CoefficientList.First(c => c.Name == name)); }