Esempio n. 1
0
 public static int FindSameUnit(Value v, string value)
 {
     for (var i = 0; i < v.Unit.Count; i++)
     {
         if (v.Unit[i].Value == value)
             return i;
     }
     return -1;
 }
Esempio n. 2
0
 public static Value CheckValueInTheSi(Value v)
 {
     if (Program.LSi.Any(t => t.Main == v.Unit))//идем по всей таблице си и сравниваем наше значение с главными
     {
         return v;
     }
     foreach (var si in Program.LSi)
     {
         foreach (var child in si.Сhildren.Where(child => child.Value == v.Unit[0].Value))
         {
             v.Unit = si.Main;
             v._value = v._value * Math.Pow(child.ConvertValue, v.Unit[0].Degree);
             return v;
         }
     }
     return v;
 }
Esempio n. 3
0
 public static Value FindFormula(Value v)
 {
     foreach (var t1 in Program.LOp)//идем по всем формулам
     {
         if (t1.Lu.Count != v.Unit.Count) continue;
         //если количество переменных совпало
         var count = v.Unit.Count(t => t1.Lu.Contains(t));//ищем наши переменные в формуле
         if (count != v.Unit.Count) continue;
         //если все окей
         v.Unit.Clear();
         v.Unit.Add(t1.Result);
         break;
     }
     return v;
 }