下面是我的代码:
string str = ""
double totalCost = getCost(12.5. 20.2, str);
console.WriteLine(str) // print nothing here
而getCost函数是
double getCost(double inputA, double inputB, string nameofType) {
if(...){
nameofType = "xxx";
} else if (...) {
nameofType = "xxx";
} else {
nameofType = "xxx";
}
}
我知道字符串会传入函数中,因此在getCost
函数内部,始终会满足一个条件,因此字符串将指向新值,所以为什么当我使用Console.WriteLine检查字符串str为仍然是“”,看起来还没有更改?