2012-10-31 13 views
5

Ich möchte eine meiner Fälle eine dynamische Zeichenfolge haben, weil in meiner Tabelle diese Werte teilweise mit Ausnahme der Anfangscode "2061" so wie mache ich meinen Code etwas tun ähnlich wie wenn ich mich auf meine CodeMachen Sie eine dynamische Select Case (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 

Antwort

2

Sie können hierfür die Like Operator in VB.NET in meiner Anfrage “... wie‚2061%‘ hier liegt nutzen. hier bin ich Auswählen des ersten mit True übereinstimmenden Falls

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 

In C# würden Sie eine if-Anweisung die gleiche Funktionalität zu erhalten:

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

Und in F #:

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

Hinweis, Ich empfehle, mit mehr beschreibende Funktion und Variablennamen als diese, aber ich don Ich weiß nicht, in welchem ​​Kontext sich dieser Code befindet. "GetResponse" ist vage und gibt nicht an, was die Rückgabewerte bedeuten könnten. Möglicherweise möchten Sie es als "GetUserOpteOutStatus" oder etwas Ähnliches umbenennen.