当前位置: 代码迷 >> C# >> 怎么用最高效的方法,从一组以"\\"为分隔符的string中提取字符串
  详细解决方案

怎么用最高效的方法,从一组以"\\"为分隔符的string中提取字符串

热度:105   发布时间:2016-05-05 04:44:09.0
如何用最高效的方法,从一组以"\\"为分隔符的string中提取字符串
小弟最近做性能优化,其中有一个需求是这样的
目标string如下
string data = "abcde\\earda\\ppp\\xxxxx"
这个需求是这样的,就是把形如这样的字符串,插入到一个
Dictionary里面去
protected Dictionary<int, string> _values 
之前的写法是这样的:

char[] sep = new char[] { '\\' };
values = data.Split(sep);
for (int i = 0; i < values.Length; ++i)
{
     _values.Add(i, value);
}

现在测试下来用这种方法去做data.split的方式性能比较差,请教有没有什么可以提升性能的方法。
------解决思路----------------------
如果不用Split
就只能循环
先IndexOf
再SubString
我不觉得这效率会比Split更高
------解决思路----------------------
热点是相对的,因为不可能每一行代码的性能都完全一致。
------解决思路----------------------
引用:
我这里表述不太好,其实是因为我用profiler工具测试时,这里是一个性能热点,如果可以改善的话那可以极大的改善性能。


profile的“性能热点”根本就是一个可以胡乱解释的指标。比如说你去坐公交车,车总是不来,于是车站上进进出出的人越来越多,你能说人才是性能热点?

看不懂profile最好就不用它,而是自己写测试程序来分析。因为你自己哪怕是写出4、5行代码的时候,你也是动脑筋去分析了。而避免纠结于“profile如此这么说的”这类因为净信工具而忘记了自己分析自己的程序整体流程的现象。
------解决思路----------------------
做性能优化,应该把精力放在逻辑流程设计的重构上。对具体的“语句问题”,只占很少一点点闲暇时间。
  相关解决方案