Forum Discussion

ChristianW's avatar
ChristianW
Valued Contributor
4 years ago

Avoid "&&" in string operations?

Hi all

How can I avoid the ampersand in string operations? I need to concatenate a pov for a calculation, but with all the ampersands, it looks complicated:

"A#" & accountName & ":F#" & flowName & ":UD2#" & ud2Name & ":UD4#" & ud4Name

 

  • If you use the $" you can avoid all ampersands and ease the reading of calculation strings.

    instead of

    "A#" & accountName & ":F#" & flowName & ":UD2#" & ud2Name & ":UD4#" & ud4Name

    you can simply write

    $"A#{accountName}:F#{flowName}:UD2#{ud2Name}:UD4#{ud4Name}"

     

  • ChristianW's avatar
    ChristianW
    Valued Contributor

    If you use the $" you can avoid all ampersands and ease the reading of calculation strings.

    instead of

    "A#" & accountName & ":F#" & flowName & ":UD2#" & ud2Name & ":UD4#" & ud4Name

    you can simply write

    $"A#{accountName}:F#{flowName}:UD2#{ud2Name}:UD4#{ud4Name}"

     

    • ChristianW's avatar
      ChristianW
      Valued Contributor

      You can also format the variables like this:

      $"Don't mess with Debit and Credit the difference {deltaDC:N2} is larger than 100"

       

      DeltaDC is a decimal and will be used in the N2 number format.

  • ericbegg's avatar
    ericbegg
    New Contributor

    Note that the variable is bracketed by the curly braces {}, they are hard to discern on the web page.  If you copy and paste Christian's example you will see that the character is not a parentheses or square bracket. 

    • ChristianW's avatar
      ChristianW
      Valued Contributor

      Thank you Erik, I changed the samples to code samples mode, maybe it is now easier to copy.

  • ericbegg's avatar
    ericbegg
    New Contributor

    When you create a string, and require Carriage Returns be inserted for formatting purposes (e.g. creating an email) you can include .net newlines. 

     

    Dim messageBody As String = $"Type - {SRType} {vbCrLf}Description - {SRDescription}"

     

    vbCrLf or environment.newline both will work, and will create a carriage return into the message body.