魔法花园 - .NET版

我关于.NET技术的Blog

检查字符串首字母的性能

今天在写一个函数的时候,需要判断某段字符串是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);

基本上第三种性能是最高的,不过第二种要保险一些。

posted on 2011-07-21 11:55 redmoon 阅读(99) 评论(0) 编辑 收藏

导航

公告

朱永光 feedsky
Follow me on Twitter
在新浪微博上关注我

热衷本地技术社区活动
社区活动资料共享
社区活动照片分享

InfoQ中文站.NET社区首席编辑


环境保护实践者和创业者
专注碳足迹等LCA应用


Xbox & Zune

昵称:redmoon
园龄:7年10个月
粉丝:25
关注:1

搜索

 
 

常用链接

随笔分类

随笔档案

文章分类

.NET技术

朋友

音乐

最新评论

阅读排行榜

评论排行榜

推荐排行榜