2009-08-04 3 views
2

내가Queue - C#에있는 객체의 속성을 수정할 수 있습니까?

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

나는 다음과 같은 queue_element을 수정하고있어 form_elements_queue System.Collections.Queue와 그 객체를 사용하고

queue_element.Children--; 

RecordQueue 내가 form_elements_queue에 대기시킵니다 내 사용자 정의 유형이다.

그러나 원래 대기열을 참조하지 않습니다. queue_element를 대기열에있는 원본 객체로 참조하려면 어떻게해야합니까?

답변

5

RecordQueue은 구조체 또는 클래스입니까? 그것이 수업이라면 괜찮을 것입니다.

원래 대기열이 수정되었는지 어떻게 확인하고 있습니까?

+1

네가 맞아. 'RecordQueue'가'class' 인 경우, 위의 코드는 큐에있는 객체를 변경합니다. 위의 코드는'struct'의 경우 큐에있는 값의 복사본을 변경합니다. – jpbochi

+0

네, 그 구조가 있습니다 :(나는 클래스를 사용해야합니다!) – shahjapan

+0

@Japan : 예, 클래스를 사용하면이 특정 문제가 해결 될 것입니다. 어쨌든 거의 항상 클래스를 사용해야합니다. 거의 사용하지 않는 것이 좋습니다. 자신의 구조체, IMO를 만들 수 있습니다. –

관련 문제