using System.Collections.Generic; using System.Text; using BenchmarkDotNet.Attributes; namespace Util.Helpers { /// /// 字符串操作性能测试 /// [MemoryDiagnoser] public class StringBenchmark { /// /// 测试值 /// private const string Value = "AbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefg"; /// /// 测试将集合连接为带分隔符的字符串 /// [Benchmark] public void Join() { Util.Helpers.String.Join( new List { 1, 2, 3 }, "'" ); } /// /// 测试首字母小写 /// [Benchmark] public void FirstLowerCase() { Util.Helpers.String.FirstLowerCase( Value ); } /// /// 测试首字母大写 /// [Benchmark] public void FirstUpperCase() { Util.Helpers.String.FirstUpperCase( Value ); } /// /// 测试移除起始字符串 /// [Benchmark] public void RemoveStart() { Util.Helpers.String.RemoveStart( Value, "Ab" ); } /// /// 测试移除末尾字符串 /// [Benchmark] public void RemoveEnd() { Util.Helpers.String.RemoveEnd( Value, "efg" ); } /// /// 测试移除起始字符串 /// [Benchmark] public void RemoveStart_StringBuilder() { var value = new StringBuilder(); value.Append( Value ); Util.Helpers.String.RemoveStart( value, "Ab" ); } /// /// 测试移除末尾字符串 /// [Benchmark] public void RemoveEnd_StringBuilder() { var value = new StringBuilder(); value.Append( Value ); Util.Helpers.String.RemoveEnd( value, "efg" ); } } }