AK.F1.Timing.Utility.Tms.Operations.WriteStatisticsOperation.WriteStatistics C# (CSharp) Метод

WriteStatistics() приватный статический Метод

private static WriteStatistics ( Statistics stats ) : void
stats Statistics
Результат void
        private static void WriteStatistics(Statistics stats)
        {
            int firstColumnWidth = Math.Max(stats.NumberOfObjectByType.Select(x => x.Key.Name.Length).Max(), 30);
            int secondColumnWidth = Math.Max(stats.FileName.Length, 10);
            var sectionDelimiter = string.Format("+{0}+{1}+", new string('-', firstColumnWidth), new string('-', secondColumnWidth));
            var rowFormat = string.Format("|{{0,-{0}}}|{{1,{1}}}|", firstColumnWidth, secondColumnWidth);

            WriteLine(sectionDelimiter);
            WriteLine(rowFormat, "File Name:", stats.FileName);
            WriteLine(rowFormat, "File Length:", stats.FileLength);
            WriteLine(rowFormat, "Number of Objects:", stats.NumberOfObjects);
            WriteLine(rowFormat, "Average Object Length:", stats.FileLength / stats.NumberOfObjects);
            WriteLine(rowFormat, "Number of Object Types:", stats.NumberOfObjectByType.Count);
            WriteLine(sectionDelimiter);
            WriteLine(rowFormat, "Object Type", "Count");
            WriteLine(sectionDelimiter);
            foreach(var pair in stats.NumberOfObjectByType.OrderByDescending(x => x.Value))
            {
                WriteLine(rowFormat, pair.Key.Name, pair.Value);
            }
            WriteLine(sectionDelimiter);
        }