题
真的很简单的问题(更确认了我的想法,比什么都)...
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#的调用,而不是去除开始了多么漫长您指定的字符串。
不隶属于 StackOverflow