小编典典

删除字符串中第一个字符的最快方法

all

假设我们有以下字符串

string data= "/temp string";

如果我们想删除第一个字符/,我们可以通过很多方法来完成,例如:

data.Remove(0,1);
data.TrimStart('/');
data.Substring(1);

但是,我真的不知道哪一个算法最好并且做得更快..
有没有一个是最好的,或者所有的都是一样的?


阅读 70

收藏
2022-05-22

共1个答案

小编典典

第二个选项确实与其他选项不同 - 如果字符串是“///foo”,它将变为“foo”而不是“//foo”。

第一个选项比第三个选项需要更多的工作来理解 - 我认为该Substring选项是最常见和可读的。

(显然,它们中的每一个作为单独的语句都不会做任何有用的事情 - 您需要将结果分配给一个变量,可能是data它本身。)

我不会在这里考虑性能,除非它实际上对你来说是个问题——在这种情况下,你知道的唯一方法就是拥有测试用例,然后很容易为每个选项运行这些测试用例,并且比较结果。我希望Substring在这里可能是最快的,因为Substring总是最终从原始输入的单个块创建一个字符串,而Remove至少必须潜在地将开始块和结束块粘合在一起。

2022-05-22