如果我有字符串,我想用星号替换该字符串中的最后一个字符。
我试过这个
var myString = "ABCDEFGH";
myString.ReplaceCharacter(mystring.Length - 1, 1, "*");
public static string ReplaceCharacter(this string str, int start, int length, string replaceWith_expression)
{
return str.Remove(start, length).Insert(start, replaceWith_expression);
}
我尝试使用此扩展方法,但这不起作用。 为什么这不起作用?
答案 0 :(得分:8)
该方法实际上是替换字符,但您必须捕获结果
myString = myString.ReplaceCharacter(myString.Length - 1, 1, "*");
答案 1 :(得分:2)
问题是字符串是不可变的。替换方法,子串等不会改变字符串本身。他们创建一个新的字符串并替换它。因此,要使上述代码正确,它应该是
myString = myString.ReplaceCharacter(myString.Length - 1, 1, "*");