检查字符串首字母的性能
今天在写一个函数的时候,需要判断某段字符串是xml还是数字,一开始用StartsWith来判断开头的字符串,后来发现这个函数需要高频率的调用,不知道StartsWith是否有性能问题。于是写了如下代码来验证:
var content = "<double>1</double>"; Stopwatch sw = Stopwatch.StartNew(); for (int i = 0; i < 1000000; i++) { var r = content.StartsWith("<"); } sw.Stop(); Console.WriteLine("test 1 :" + sw.ElapsedMilliseconds); sw = Stopwatch.StartNew(); for (int i = 0; i < 1000000; i++) { var r = content.StartsWith("<double>"); } sw.Stop(); Console.WriteLine("test 2 :" + sw.ElapsedMilliseconds); sw = Stopwatch.StartNew(); for (int i = 0; i < 1000000; i++) { var r = content[0] == '<'; } sw.Stop(); Console.WriteLine("test 3 :" + sw.ElapsedMilliseconds);
基本上第三种性能是最高的,不过第二种要保险一些。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步