2009-08-04 9 views
2

私はQueue - C#にあるオブジェクトのプロパティを変更できますか?

if (form_elements_queue.Count > 0) 
     queue_element = (RecordQueue)form_elements_queue.Peek(); 

form_elements_queue System.Collections.Queueし、そのオブジェクトを使用していた私は

queue_element.Children--; 

RecordQueueは、私がform_elements_queueにエンキュー私のカスタムタイプで、以下のようなqueue_elementを変更しています。

ですが、元のキューを参照していません。 queue_elementをキュー内にある元のオブジェクトに参照する方法を教えてください。

答えて

5

RecordQueueは構造体またはクラスですか?それがクラスなら、それはうまくいくはずです。

元のキューが変更されているかどうかを確認していますか?

+1

あなたはそうです。 'RecordQueue'が' class'の場合、上記のコードはキューの中にあるオブジェクトを変更します。それが 'struct'の場合、上記のコードはキューにある値のコピーを変更します。 – jpbochi

+0

はい、そこには構造があります:(私はクラスを使用する必要がありますか?) – shahjapan

+0

@Japan:はい、クラスを使用すると、この特定の問題が解決されます。ほとんどの場合、常にクラスを使用する必要があります。 –

関連する問題