/// <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(); }