2012-10-31 12 views
5

Mi piacerebbe avere uno dei miei casi essere una stringa dinamica perché nella mia tabella questi valori sono stati modificati parzialmente tranne il codice di inizio "2061" quindi come faccio a fare il mio codice fare qualcosa simile a quando sto guardando nella mia domanda " ... come '2061%' Ecco il mio codiceMake a Dynamic 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 

risposta

2

È possibile utilizzare l'operatore Like in VB.NET per questo. qui sto selezionando il primo caso che corrisponde a 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 

In C# si usa un'istruzione if per ottenere la stessa funzionalità:

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

E in F #:

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

nota, mi consiglia di utilizzare la funzione più descrittivo e nomi di variabili di questo, ma io don Non so in che contesto si trova questo codice. "GetResponse" è vago e non indica cosa potrebbero significare i valori restituiti. Potresti voler rinominarlo come "GetUserOptedOutStatus" o qualcosa di simile.