ref
メソッド内に状態のいくつかのビットを格納するために構造体を使用することを検討していましたが、値渡しを避けるためにキーワードを使用してこれをヘルパー メソッドに渡すことができるようにしたいと考えていました。ただし、それを行うと、スタックではなくヒープに保存されますか?
コード例:
var link = new Geoff("Bergen");
Perambulate(ref link);
Console.WriteLine(link.Name);
void Perambulate(ref Geoff man)
{
Console.WriteLine("Perambulating {0}",man.Name);
}
struct Geoff
{
public readonly string Name;
public Geoff(string name)
{
Name = name;
}
}
ref
キーワードが参照された値を強制的にヒープに格納するかどうかを本当に尋ねていると思います。