func1 変数を呼び出した後、mydata は null のままです。デバッグ モードでは、func3 でデータを文字列に設定していることがわかります。関数を終了した後に値を渡さないのはなぜですか?
クラス例
class myclass
{
public string mydata;
public int func1()
{
//....
func2(/**/, mydata);
//....
return 1;
}
private int func2(/**/,data)
{
byte[] arr = new byte[1000];
//...
func3(arr,data);
//...
return 1;
}
private void func3(byte[] arr, string data)
{
char[] a = new char[100];
//...
data = new string(a);
}
}