public void main()
{
string test = "testing";
ChangeVal(test);
Console.WriteLine(test);
}
private void ChangeVal(string test)
{
test = "in child";
}
String がクラスの場合。そして、文字列をパラメーターとして関数に渡します。関数内のその文字列の値を変更します。ただし、メイン関数では以前の値が表示されます。テスト値を出力します。
整数と文字列の2つのメンバー変数を持つFooクラスを作成したとき。クラスのオブジェクトをパラメーターとして渡し、関数内のメンバー変数の値を変更したとき。メイン関数で更新された値を提供します
public class Foo
{
public string test = "testing";
public int i = 5;
}
public void main()
{
Foo obj=new Foo();
Console.WriteLine(obj.test);
ChangeVal(obj);
Console.WriteLine(obj.test);
}
private void ChangeVal(Foo obj)
{
obj.test = "in child";
obj.i = 5;
}
文字列がクラスの場合。変数の値を更新します。文字列は Unicode 文字のシーケンスである可能性があるため、最初のケースでは値を更新しません。これを詳細に説明できる機関はありますか。