StringBuilder的小问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 12:28:52
StringBuilder sb = new StringBuilder("你知道我爱你的",100);
sb.Remove(15, sb.Length - 15); /*StringBuilder中索引处为15的删除*/ Console.WriteLine(sb);

我不理解。那个15.和后面那个15有什么关系。前面的15改成5?后面也改成6?又是什么意思~

前面的15是指从下标15开始删除。
后面15只是个数字。
(sb.length-15)=(100-15)=85代表要删掉的字符数。
实际就是从下标15之后所有的字符都删掉.\
同理如果改成5,就是从15后删掉90个。显然
总共才100.这样会溢出报错的。

比方说string temp = "abcdefg";
temp.Remove(5, temp.Length - 6);
那么temp现在的值就是"abcdef"
如果你不写-6 那么从第5个开始也就是从"f"开始往后数temp.Length也就是7位,就会超出界限就会报错

首先你要知道string就是一个char的array
Remove括号里的意思就是说从第几个开始(索引是从0数起),然后往后面数几位,这一段全部删除

前面那个15是指从第16个字符开始(因为第一个0),后面那个要移除(总字符-15)个字符,其实并不是同一个位置。“你知道我爱你的”,这里有14个字符,前面改成5就是从第6个字符开始删,就是“道”的第2个字符。“后面也改成6?”就是要删除6个字符。