質問です。
using System.CollectionsのArrayListを使ってプログラムを作っているのですが

class test {
...
public struct dPoint {
 public double X;
 public double Y;
}

private dPoint pos;

private ArrayList list = new ArrayList();


.....
//ユーザ定義関数1
this.pos.x = .... // 23.456...
this.list.Add(this.pos.x);
.....
//ユーザ定義関数2
g.DrawString("this.list[0]->"+this.list[0] ,...); //デバッグ用に出力


という風なプログラムなのですがデバッグ出力で”this.list[0]->0”と表示されるのですが原因がわかりません
this.list.Add(1)と即値を入れた時は”this.list[0]->1”と表示されます
よろしくお願いします