假设我们有以下字符串
string data= "/temp string";
如果我们想删除第一个字符/,我们可以通过很多方法来完成,例如:
/
data.Remove(0,1); data.TrimStart('/'); data.Substring(1);
但是,我真的不知道哪一个算法最好并且做得更快.. 有没有一个是最好的,或者所有的都是一样的?
第二个选项确实与其他选项不同 - 如果字符串是“///foo”,它将变为“foo”而不是“//foo”。
第一个选项比第三个选项需要更多的工作来理解 - 我认为该Substring选项是最常见和可读的。
Substring
(显然,它们中的每一个作为单独的语句都不会做任何有用的事情 - 您需要将结果分配给一个变量,可能是data它本身。)
data
我不会在这里考虑性能,除非它实际上对你来说是个问题——在这种情况下,你知道的唯一方法就是拥有测试用例,然后很容易为每个选项运行这些测试用例,并且比较结果。我希望Substring在这里可能是最快的,因为Substring总是最终从原始输入的单个块创建一个字符串,而Remove至少必须潜在地将开始块和结束块粘合在一起。
Remove