"1111111111"の出力を取得しようとしています。 Message関数はAddMessageによって呼び出され、メッセージを配列に格納します。 しかし、私は配列の値を出力するとき、私は値の代わりにアドレスを取得します。どのように私はこれを修正するのですか?C#デリゲート(出力に正しい値が表示されない)
class Program
{
public delegate int print();
public static void Main()
{
print[] array1 = new print[10];
AddMessage(ref array1, Message);
for (int i = 0; i < 10; i++)
{
Console.WriteLine(array1[i]);
}
}
public static void AddMessage(ref print[] array, print msg)
{
for(int i =0; i< 10; i++)
{
array[i] = msg;
}
}
public static int Message()
{
int msg;
msg = 1;
return msg;
}
}
}
にオンにする必要があります。なぜあなたは 'ref'を入れましたか? – Enigmativity