//Распарсивает файл с вариантами предаставляя библиотеку вариантов private static void FillVariantsDicteonary(ref Dictionary <String, VariantOfGenerator> variants, ref List <String> stringList) { variants.Clear(); for (int i = 0; i < stringList.Count; i++) { bool flag = true; Regex r = new Regex(@"\s+"); String[] buffer = r.Replace(stringList[i], @" ").Replace('.', ',').Split(' '); VariantOfGenerator var = new VariantOfGenerator(); if (15 > buffer.Count()) { Console.WriteLine("Некорректно указана строка"); continue; } flag &= Enum.TryParse(buffer[1], out var.TypeIn); flag &= Enum.TryParse(buffer[2], out var.TypeOut); flag &= Double.TryParse(buffer[3], out var.Rin); flag &= Double.TryParse(buffer[4], out var.Lin); flag &= Double.TryParse(buffer[5], out var.Cin); flag &= Double.TryParse(buffer[6], out var.Rout); flag &= Double.TryParse(buffer[7], out var.Lout); flag &= Double.TryParse(buffer[8], out var.Cout); flag &= Double.TryParse(buffer[9], out var.S0); flag &= Double.TryParse(buffer[10], out var.FS); flag &= Double.TryParse(buffer[11], out var.Tay); flag &= Double.TryParse(buffer[12], out var.Z0); flag &= Double.TryParse(buffer[13], out var.R12); flag &= Double.TryParse(buffer[14], out var.C12); if (variants.ContainsKey(buffer[0])) { flag &= false; Console.WriteLine("Файл уже содержит данный вариант " + buffer[0] + "Строка : " + i.ToString()); } if (flag) // Если все данные верны, то добавляем вариант { variants.Add(buffer[0], var); } } if (0 == variants.Count) { throw new Exception("Загружаемый файл не содержит корректных вариантов"); } }
public VariantOfGenerator(VariantOfGenerator var) { this = var; }