2010-07-19 6 views
33

빠른 질문; 최근에 VS2010으로 업그레이드했으며 ReSharper의 새로운 버전을 받았습니다. ReSharper에서 변수 나에게 자동 완성 옵션을 제공 할 때C# 구문 - 변수 이름 뒤에 콜론

지금, 그것은 나에게 < 여기서 variableName의 옵션을 제공> :

기능 : 대한 스탠드를?

예 : 나는이 있습니다

var productIds = new List<int>(inventoryItemsToProcess.Keys); 

을 그리고 나는이 같은 라인 출력을 입력 시작할 때 :

var lastOrderDates = GetProductLastOrderDates(pro 

를 그것은 나에게 productIds에 대한 옵션을 제공뿐만 아니라 productIds:

로 둘 사이의 차이는 무엇입니까 ?

답변

39

두 번째는 C# 4.0 named arguments입니다. 여기에 link on MSDN이 있습니다.

+12

더 정확하게 명명 된 인수를 원하는 경우 :

public void Test(string something1, string something2) { } 

는 다음과 같이 호출 할 수 있습니다. 매개 변수에는 항상 이름이 있습니다. –

+1

간단하고 완전하며 올바른 – Kris

+6

@ 존 스 켈 : 젠장, 당신은 매개 변수와 논쟁의 차이를 잘 아는 유일한 사람이라는 것을 알고 있습니까? ;-) – Kris

35

매개 변수를 표시하려면 콜론이 필요합니다. C# 4.0에서는 선택적으로 매개 변수를 재정렬하고 이름을 지정할 수 있지만 변수 이름은 프로토 타입과 일치해야하며 콜론 접미사가 있어야합니다.

Test(something2: "bar", something1: "foo"); 

당신이

+7

그냥 링크가 아닌 그림을 제공해 주셔서 감사합니다. – DOK