2011-07-01 2 views
9

가능한 중복은 :
What is the use of the := syntax?VB.NET에서 a : = (콜론 같음)은 무엇을합니까?

나는 VB.NET에 :=의 MDSN 문서를 사냥 시도뿐만 아니라 구글 흐르고 단지 죽은 MSDN 페이지에 링크 할했습니다. .. :=의 목적은 무엇입니까?

+0

@will 당신이 어떤 검색어를 사용 했습니까? SO.com doesnt는 나를 두는 것을 좋아한다 = 검색으로 그리고 나는 didnt한다 "콜론 equals vb.net 어느 쪽이라도"를 많이 얻는다. .. –

+0

Andy - 그 다른 질문은 오른쪽의 'related'칼럼에 나타난다 - 나는하지 않는다 SO가 그 목록을 채우기 위해 어떤 시스템을 사용하는지 또는 질문을 입력했을 때 표시되었을 제안에 표시되는지 여부를 알 수 있습니다. –

답변

5

강력하게 인수의 이름을 지정하므로 메소드 정의에 지정된 순서가 아닌 순서로 인수를 사용하여 메소드를 호출 할 수 있습니다. 예를 들어

:이 때 특히 유용합니다

111, 999 

:

foo (y:=999, x:=111) 

인쇄 :

sub foo (byval x As Long, byval y As Long) 
    debug.print (String.Format("{0}, {1}", x.ToString, y.ToString)) 
end Function 

가 자신의 이름을 사용하여 반전 인수의 순서로 호출 할 수 있습니다 선택적 인수의 긴 목록이 있고, 그 중 몇 개만 지정하면됩니다. 지정할 nt는 첫 번째 것이 아닙니다.

+1

코드가 컴파일되지 않습니다. 'function.'을'sub','debug.print x, y'로'Debug.Print (String.Format ("{0}, {1}", x.ToString, y.ToString))','foo y : = 999, x : = 111'을'foo (y : = 999, x : = 111)'와 함께 사용하면 결과를 얻을 수 있습니다. –

+0

게시 된 코드가 컴파일되지 않습니다. 오, 지적 된 부분입니다. – dbasnett

4

메서드 호출에서 인수의 이름을 지정하는 데 사용되며 대개 선택적 인수와 함께 사용됩니다.

ActiveX 호출을 통해 Word 또는 Excel 메서드를 호출 할 때 특히 유용합니다. 대부분의 선택적 인수는 사용되지만 그 중 대부분은 사용되지 않습니다.

+1

이것은 많은 선택적인 args를 가진 함수에만 유용하다고 동의했다. – dbasnett

2

VB.NET에 대해서는 확실하지 않지만, Visual Basic 6.0에는 서수 위치가 아닌 이름으로 메소드 매개 변수에 값을 지정하는 구문이었습니다.

2

위치 대신 이름으로 값을 할당합니다.

이이 같은 결과를

Private Function foo(arg1 As Integer, arg2 As Integer) As Boolean 
    Debug.WriteLine("{0} {1}", arg1, arg2) 
    Return True 
End Function 

을 감안할 때

foo(arg2:=2, arg1:=1) 

    foo(1, 2) 

디버그 출력

1 2

1 2