/// 日志类型
        private LogExInfo getLogInfo(string log, int index)
        {
            var blankIndex = log.IndexOf(' ');
            var logExInfo  = new LogExInfo();

            logExInfo.Key     = log.Substring(0, blankIndex);
            logExInfo.Content = log.Substring(blankIndex + 1, log.Length - blankIndex - 1);
            if (char.IsDigit(log[blankIndex + 1]))
            {
                logExInfo.Type = LogType.DIGIS;
            }
            else
            {
                logExInfo.Type = LogType.LETTERS;
            }

            logExInfo.RawIndex = index;
            logExInfo.RawLog   = log;

            return(logExInfo);
        }
        public string[] ReorderLogFiles(string[] logs)
        {
            LogExInfo[] logExInfos = new LogExInfo[logs.Length];
            for (int i = 0; i < logs.Length; i++)
            {
                logExInfos[i] = getLogInfo(logs[i], i);
            }

            Array.Sort(logExInfos, (a, b) =>
            {
                if (a.Type != b.Type)
                {
                    return(a.Type.CompareTo(b.Type));
                }

                if (a.Type == LogType.LETTERS)
                {
                    if (a.Content != b.Content)
                    {
                        return(a.Content.CompareTo(b.Content));
                    }
                    else
                    {
                        return(a.Key.CompareTo(b.Key));
                    }
                }
                else
                {
                    return(a.RawIndex.CompareTo(b.RawIndex));
                }
            });
            for (int i = 0; i < logs.Length; i++)
            {
                logs[i] = logExInfos[i].RawLog;
            }

            return(logs);
        }