真的很简单的问题(更确认了我的想法,比什么都)...

Java方法:[StringBuffer.删除]1;

[1]: http://java.sun.com/j2se/1.4.2/docs/api/java/lang/StringBuffer.html#delete(int,int)

Java Code: sb.delete(sb.length()-2, sb.length());  

C# (not sure if this is right):  
StringBuilder sb = new StringBuilder();
....
sb.Remove(sb.Length - 2, sb.Length - (sb.Length - 2));

为什么我不知道是文档的删除方法。它说的

Substring开始在指定 开始并延伸到字在 索引端-1或结束 StringBuffer如果没有这样的性格 存在

我只是不太确定这个 结束-1 位的这段话..如果我可能有fraked的事情了。

干杯:)

编辑:嘿.我知道这是删除最后2个字符串的,但我保留转换准确的,hencse我的详细编码。:)

有帮助吗?

解决方案

要删除的最后2个字符,你会写:

sb.Remove(sb.Length - 2, 2);

其他提示

是,这是正确的。 “结束 - 1”。也就是说,如果调用删除(2,8)它通过7删除与索引2处的字符,但不是字符具有索引

所以,你的代码是正确的。然而,一些数学技能就派上用场了,您会看到:

x - (x - 2)
= x - x + 2
= (x - x) + 2
= 0 + 2
= 2

制作的代码:

sb.Remove(sb.Length - 2, 2);

做同样的事情的另一种方式是:

sb.Length -= 2;

在Java中的删除调用它从开始到结束-1删除字符。 C#的调用,而不是去除开始了多么漫长您指定的字符串。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top