====== Strings and their prefixes ====== A string in X# is delimited by the double quotation mark: cString := "this is a string" This is valid for the VO, Vulcan and Code dialects. In the VO dialect a string can also be delimited by the single quotation mark: cString := 'this is a string' This is to make X# compatible to VO code. If you need to use special characters or double quotation mark in your string, the enhanced string does what you need: cString := e"this is a \"string\"." and of course you can also embed other control characters in your string: cString := e"this is a multiline\nstring with another\nline" But you can do even more with interpolated strings: local cMyVar := "Hi" as string cString := i"{cMyVar} guys" Of course you can use both at the same time: cString := ei"this is a \"string\". that references {cVariableName}" As variable, not only a string variable can be used, but every type of object, and under the houd the '':ToString()'' method is called: local oPerson as Person cString := i"This is {oPerson}" And if you wish, you can also use formatting expressions: local nValue as decimal nValue := 123.45m cString := i"nValue: {nValue:######.0000}" // nValue: 123,4500 cString := i"nValue: {nValue:F6}" // nValue: 123,450000 In this case (as in the use with ToString()), if you need to embed the parentheses ''{'' and ''}'' in your string, they need to be doubled as in this sample: cConnection := i"Driver={{Microsoft access Driver (*.mdb)}};Dbq={cDatabaseFile};Uid=Admin;Pwd=;" And only in the VO dialect, you need to prefix a char with the ''c'' prefix: cChar := c'a' Please note that there is a major difference between C# and X#: in C# all strings are enhanced, and to make them normal, you must prefix them with the ''@'' character. In X# all strings are normal, and to be enhanced, they need the ''e'' prefix.