我已经编写了一个函数,但是这个函数仍然返回旧的字符串而不是新的字符串。当你使用旧的字符串
时,我不知道如何返回一个新的字符串以示例:
public string TestCode(string testString)
{
// Here something happens with the testString
//return testString; <-- i am returning still the same how can i return the new string //where something is happened with in the function above
}
答案 0 :(得分:5)
//这里有一些关于testString
的事情
确保您正在使用字符串进行操作,然后将其分配回testString
。
testString = testString.Replace("A","B");
因为字符串是immutable。
我假设您正在调用函数:
string somestring = "ABC";
somestring = TestCode(somestring);
答案 1 :(得分:0)
String
是不可变的(即无法更改)。你必须这样做
myString = TestCode(myString)
答案 2 :(得分:0)
只需确保将新字符串值分配给变量(或参数testString
)。例如,这里一个非常常见的错误是:
testString.Replace("a", ""); // remove the "a"s
这应该是:
return testString.Replace("a", ""); // remove the "a"s
或
testString = testString.Replace("a", ""); // remove the "a"s
...
return testString;
重点是:string
是不可变的:Replace
等不要更改旧字符串:它们会创建一个你需要存储在某处的新字符串。