Example #1
0
        public static SKBranch[] ParseFromString(string @string)
        {
            if (string.IsNullOrEmpty(@string)) return new SKBranch[0];

            string[] strs = @string.Split(';');
            int sz = strs.Length;
            SKBranch[] skbs = new SKBranch[sz];
            for (int i = 0; i <sz; ++i)
            {
                if (strs[i] == "" ||strs[i] =="^"){skbs[i]=null;continue;}
                string[] parts = strs[i].Split(',');
                SKBranch skb = new SKBranch()
                {
                    Priority = int.Parse(parts[1]),
                    MixCode = int.Parse(parts[2])
                };
                string occur = parts[0];
                if (occur.StartsWith("!"))
                {
                    skb.Occur = occur.Substring(1); skb.Lock = true;
                }
                else if (occur.StartsWith("?"))
                {
                    skb.Occur = occur.Substring(1); skb.Lock = null;
                }
                else
                {
                    skb.Occur = occur; skb.Lock = false;
                }
                skbs[i] = skb;
            }
            return skbs;
        }
Example #2
0
 public static SKBranch[] ParseFromStrings(string occurStr, string priortyStr, string mixCodeStr)
 {
     string[] occurs = occurStr.Split(',');
     string[] priorties = priortyStr.Split(',');
     string[] mixCodes = mixCodeStr.Split(',');
     int sz = occurs.Length;
     SKBranch[] skbs = new SKBranch[sz];
     for (int i = 0; i < sz; ++i)
     {
         if (occurs[i] == "" || occurs[i] == "^") { skbs[i] = null; continue; }
         SKBranch skb = new SKBranch()
         {
             Priority = int.Parse(priorties[i]),
             MixCode = int.Parse(mixCodes[i])
         };
         if (occurs[i].StartsWith("!"))
         {
             skb.Occur = occurs[i].Substring(1); skb.Lock = true;
         }
         else if (occurs[i].StartsWith("?"))
         {
             skb.Occur = occurs[i].Substring(1); skb.Lock = null;
         }
         else
         {
             skb.Occur = occurs[i]; skb.Lock = false;
         }
         skbs[i] = skb;
     }
     return skbs;
 }