2011-08-08 7 views
1

스택을 복제 할 때이 문제가 발생했습니다. .NET 버그인지 예상되는 동작인지 확실하지 않습니다. 의견?스택 복제 문제 : .NET 버그 또는 예상되는 동작?

Dim myStack As New Stack(Of Integer)({2,1,3}) 
Response.Write(String.Join(",",myStack.Clone) & "<br>" & String.Join(",",myStack.Clone.Clone)) 

출력 :

2,1,3 
3,1,2 <- I expected 2,1,3 
+0

제 의견으로는 .net 버그가 아닙니다. –

+3

코드가 컴파일되지 않습니다. 흥미로운 확장 방법을 사용하고 있습니까? 이것을 보여주는 짧지 만 완전한 콘솔 앱을 게시 할 수 있습니까? –

+0

비 일반 스택 (http://msdn.microsoft.com/en-us/library/system.collections.stack.aspx)을 사용하고 있지 않습니까? 제네릭 스택에는 Clone-method가 없습니다. – alun

답변

8

이 닷넷 버그 아니다. Stack(Of T) 유형에는 Clone 메서드 또는 속성이 없습니다. 이것은 표준 VB.Net 콘솔 프로젝트

Dim stack As New Stack(Of Integer)({2, 1, 3}) 
Console.WriteLine(String.Join(",", stack.Clone)) 

Clone 방법은 프로젝트에 어딘가에 정의 된 확장 메서드해야 할 의무되고에 컴파일되지 않습니다 다음 코드에 의해 증명된다. 버그 또는 설계상의 문제가 거기에 있습니다.