私はシンプルなクラス、point
を書いています。リストで使用したいと思います。リスト内のポイントを変更する
私は3点を持っています。私はそれを印刷する場合:
for (int i = listOfPoint.Count -1; i >=0; i--)
{
Console.WriteLine(listOfPoint[i].toString());
}
出力は次のようになります。
(32, 10)
(33, 10)
(34, 10)
今、私はこれを行うにしたい。この後
for (int i = listOfPoint.Count -1; i > 0; i--)
{
listOfPoint[i] = listOfPoint[i - 1];
}
を - 印刷:
(33, 10)
(34, 10)
(34, 10)
その後、私はlistOfPoint[0]
のY値を変更したいので:
listOfPoint[0].Y = 11;
再び印刷リストを、出力は次のとおりです。
(33, 10)
(34, 11)
(34, 11)
なぜ出力されません。
(33, 10) (34, 10) (34, 11)
そして、どのように私はこのようにそれを行うことができますか?
あなた 'Point'クラスを投稿してください。 'listOfPoints'をどのように作成したかを見せてください。 – Oded
'listOfPoint [i] = listOfPoint [i-1]'は新しい 'Point'オブジェクトを作成しません。同じ 'Point'オブジェクトを参照する2つの要素があります。 – birryree
'Point'を' class'ではなく 'struct'にするべきでしょう。 WinFormsのビルトインのものを使用してください。 – Ryan