/// <summary>
 ///     创建状态查找数据
 /// </summary>
 /// <param name="states">状态集合</param>
 /// <returns>状态查找数据</returns>
 public static TmphPointer Create(string[] states)
 {
     if (states.length() != 0)
     {
         var index = 0;
         var strings = new TmphKeyValue<string, int>[states.Length];
         foreach (var name in states)
         {
             strings[index].Set(name, index);
             ++index;
         }
         strings = strings.sort(StringCompare);
         return new TmphStringBuilder(strings).Data;
     }
     return new TmphPointer();
 }
 /// <summary>
 ///     创建状态查找数据
 /// </summary>
 /// <param name="states">状态集合</param>
 /// <returns>状态查找数据</returns>
 public static TmphPointer Create(byte[][] states)
 {
     if (states.length() != 0)
     {
         var index = 0;
         var datas = new TmphKeyValue<byte[], int>[states.Length];
         foreach (var name in states)
         {
             datas[index].Set(name, index);
             ++index;
         }
         datas = datas.sort(CompareHanlde);
         return new TmphByteArrayBuilder(datas).Data;
     }
     return new TmphPointer();
 }
 /// <summary>
 ///     创建状态查找数据
 /// </summary>
 /// <param name="states">状态集合</param>
 /// <returns>状态查找数据</returns>
 public static TmphPointer Create(byte[][] states)
 {
     if (states.length() != 0)
     {
         var index = 0;
         var strings = new TmphKeyValue<byte[], int>[states.Length];
         foreach (var name in states)
         {
             if (name.Length >= 65536) TmphLog.Default.Throw(TmphLog.TmphExceptionType.IndexOutOfRange);
             strings[index].Set(name, index);
             ++index;
         }
         strings = strings.sort(CompareHanlde);
         return new TmphBuilder(strings).Data;
     }
     return new TmphPointer();
 }