返回一个新值

时间:2013-03-05 09:04:13

标签: c#

我已经编写了一个函数,但是这个函数仍然返回旧的字符串而不是新的字符串。当你使用旧的字符串

时,我不知道如何返回一个新的字符串

以示例:

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

}

3 个答案:

答案 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等不要更改旧字符串:它们会创建一个你需要存储在某处的新字符串。