2012-10-31 13 views
5

Chciałbym, aby jeden z moich przypadków był ciągiem dynamicznym, ponieważ w mojej tabeli wartości te zmieniły się częściowo z wyjątkiem kodu początkowego "2061" , więc jak mogę zrobić mój kod zrobić coś podobny do tego, kiedy szukam w moim zapytaniu ”... jak«%» 2061 Oto mój kodUtwórz przypadek dynamicznego wybierania (vb)

Function GetResponse(val As String) As String 
     Select Case val 
      Case "2061" 
       Return "Opted Out" 
      Case "00" 
       Return "" 
      Case Else 
       Return "Other" 
     End Select 
    End Function 

Odpowiedz

2

można użyć operatora Like w VB.NET do tego. Tu jestem wybierając pierwszy przypadek, który pasuje do True.

Function GetResponse(val As String) As String 
    Select Case True 
     Case val Like "2061*" 
      Return "Opted Out" 
     Case val = "00" 
      Return "" 
     Case Else 
      Return "Other" 
    End Select 
End Function 

W języku C# należy użyć instrukcji if, aby uzyskać tę samą funkcjonalność:

string GetResponse(string value) 
{ 
    if (value.StartsWith("2061")) 
     return "Opted Out"; 
    else if (value == "00") 
     return ""; 
    else 
     return "Other"; 
} 

A w F #:

let GetResponse (value:string) = 
    match value with 
    | x when x.StartsWith("2061") -> "Opted Out" 
    | "00" -> "" 
    | _ -> "Other" 

Uwaga, polecam korzystania z funkcji bardziej opisowy i nazw zmiennych niż to, ale ja don nie wiem, w jakim kontekście jest ten kod. "GetResponse" jest niejasny i nie wskazuje, co oznaczają wartości zwracane. Możesz zmienić nazwę jako "GetUserOptedOutStatus" lub coś podobnego.