예제 #1
0
        //Распарсивает файл с вариантами предаставляя библиотеку вариантов
        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("Загружаемый файл не содержит корректных вариантов");
            }
        }
예제 #2
0
 public VariantOfGenerator(VariantOfGenerator var)
 {
     this = var;
 }