2012-05-18 1 views
0

아래의 VB 코드는 함수에 True 값을 할당하도록 지정합니다. 그러나 C#으로 변환 할 때 메서드에 True를 할당 할 수없는 오류가 발생합니다. 어떻게하면 C#의 메소드에 true를 할당 할 수 있습니까?Assingn VB에서 함수에 대한 TRUE 값

Private Function KeyOK(ByVal sKey As String) As Boolea 

    KeyOK = True 
    sKey = Trim(sKey) 

    If Len(sKey) <> KEY_LENGTH Then 
     KeyOK = False 
     Exit Function 

답변

5

C#에서 등가가 반환 키워드입니다 : 이것은 내 VB 코드입니다. 그래서, 대신 KeyOK = 거짓, 당신은 쓸 것 :

return false; 

여기에 상응하는 C#을 함수의 :

private bool KeyOK(string sKey) 
{ 
    bool result = true; 
    sKey = (sKey ?? "").Trim(); 
    if (sKey.Length != KEY_LENGTH) 
     result = false; 
    return result; 
} 
+3

이것은 또한 VB에서 선호되는 방법입니다. 함수 이름의 할당은 vb6 및 이전 버전의 holdover입니다. –

+0

@KaivthaBindela는 대답을 잊지 않고 답변을 수락합니다. – Yatrix

+0

return을 호출하는 것은 해당 메소드를 즉시 종료하므로 동등하지 않습니다. VB에서 함수 이름에 값을 지정해도 함수가 즉시 종료되지는 않습니다. –

1

그것은 스타일/취향의 문제이지만, 나는 떠날 것이다 중간체

private bool KeyOK(string key) { 
    return (key ?? "").Trim().Length == KEY_LENGTH; 
} 

하거나

private bool KeyOK(string key) { 
    return key.Trim().Length == KEY_LENGTH; 
} 

키가 null이되지 않는다면 기쁩니다.

(반드시 내 코를 붙일 필요가 없습니다)
앨런.