给定以下方法:
static void ChangeArray(params string[] array) {
for (int i = 0; i < array.Length; i++)
array[i] = array[i] + "s";
}
如果我将其称为传递字符串数组,则此方法有效:
string[] array = {"Michael", "Jordan"} // will become {"Michaels", "Jordans"}
ChangeArray(array);
但是如果我使用字符串参数调用它就行不通了:
string Michael = "Michael";
string Jordan = "Jordan";
ChangeArray(Michael, Jordan); // This will NOT change the values of the variables
我知道编译器会将 Michael 和 Jordan 包装在一个数组中,所以两种情况下的结果不应该相同吗?