c#中的string.insert不会覆盖startindex中的字符吗?
答案 0 :(得分:7)
例如,返回值 “abc”。插入(2,“XYZ”)是“abXYZc”。
所以,没有。
http://msdn.microsoft.com/en-us/library/system.string.insert.aspx
答案 1 :(得分:2)
插入仅添加。替换确实改变了。
编辑:正如其他人所指出的,字符串实际上是不可变的,因此两种方法都会返回初始字符串的副本。但是,操作的语义如上所述。
答案 2 :(得分:2)
没有。字符串是不可变的。 string.Insert返回带有插入值的新字符串。它不会改变旧字符串。
string newString = oldString.Insert(3, "foo);
oldString不会改变。但是“foo”现在是newString。
答案 3 :(得分:1)
c#中的字符串是不可变的。除了反射或不安全的代码之外,它们无法更改(你永远不应该这样做)。
字符串上的所有方法“修改”而非返回新字符串并进行适当的修改。
由于insert将一个字符串放在另一个字符串中,因此将字符串s1
插入字符串s2
的结果将是length s1.Lnegth + s2.Length
的字符串,不会丢失任何字符。
答案 4 :(得分:1)
没有。它只是告诉它插入角色的位置,所以如果你有以下
string x = "ello".Insert(0, "h");
该字符串实际上是“hello”。
答案 5 :(得分:0)