C#においてはクラスと構造体の違いって、参照型か値型かの違いなんですね。
namespace ConsoleApplication1
{
class hoge
{
public int x;
}
struct piyo
{
public int x;
}
class Program
{
static void Main(string[] args)
{
//クラスの場合
hoge hoge1 = new hoge();
hoge hoge2;
hoge1.x = 1;
hoge2 = hoge1;
hoge2.x = 2;
// hoge1.xも2になる
Console.WriteLine(hoge1.x.ToString() + "," + hoge2.x.ToString());
//構造体の場合
piyo piyo1;
piyo piyo2;
piyo1.x = 1;
piyo2 = piyo1;
piyo2.x = 2;
// piyo1.xは1のまま
Console.WriteLine(piyo1.x.ToString() + "," + piyo2.x.ToString());
}
}
}