// Tạo bộ ba xác suất từ chuỗi text public ProbTriple(string V) { try { this.Value = new List <object>(); this.MinProb = new List <double>(); this.MaxProb = new List <double>(); if (!V.Contains("||") && !V.Contains("{") && !V.Contains("}") && !V.Contains("[") && !V.Contains("]")) { V = String.Format("{{{0}}}[ 1, 1]", V); } string[] seperator = { "||" }; string[] value = V.Split(seperator, StringSplitOptions.RemoveEmptyEntries); int j1, j2, j3, j4, j5; for (int i = 0; i < value.Length; i++) { j1 = value[i].IndexOf('{'); j2 = value[i].IndexOf('}'); j3 = value[i].IndexOf('['); j4 = value[i].IndexOf(','); j5 = value[i].IndexOf(']'); Value.Add(value[i].Substring(j1 + 1, j2 - j1 - 1)); MinProb.Add(Convert.ToDouble(value[i].Substring(j3 + 1, j4 - j3 - 1))); MaxProb.Add(Convert.ToDouble(value[i].Substring(j4 + 1, j5 - j4 - 1))); } } catch { } }
public ProbTriple(string V, string typeName) { try { this.Value = new List <object>(); this.MinProb = new List <double>(); this.MaxProb = new List <double>(); if (!V.Contains("||") && !V.Contains("{") && !V.Contains("}") && !V.Contains("[") && !V.Contains("]")) { V = String.Format("{{{0}}}[ 1, 1]", V); } string[] seperator = { "||" }; string[] value = V.Split(seperator, StringSplitOptions.RemoveEmptyEntries); int j1, j2, j3, j4, j5; for (int i = 0; i < value.Length; i++) { j1 = value[i].IndexOf('{'); j2 = value[i].IndexOf('}'); j3 = value[i].IndexOf('['); j4 = value[i].IndexOf(','); j5 = value[i].IndexOf(']'); if (typeName != "String") { Value.Add(value[i].Substring(j1 + 1, j2 - j1 - 1).Replace(" ", "")); } else { Value.Add(value[i].Substring(j1 + 1, j2 - j1 - 1)); } MinProb.Add(Convert.ToDouble(value[i].Substring(j3 + 1, j4 - j3 - 1))); MaxProb.Add(Convert.ToDouble(value[i].Substring(j4 + 1, j5 - j4 - 1))); } } catch { MessageBox.Show("Syntax Error! Cannot convert to Probabilistic Triple!"); } }