User Tools

Site Tools


strings

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
strings [2018/01/21 15:01] – created wolfgangriedmannstrings [2018/10/06 05:09] (current) wolfgangriedmann
Line 1: Line 1:
 ====== Strings and their prefixes ====== ====== Strings and their prefixes ======
  
-A string in X# is delimited by the double hyphen:+A string in X# is delimited by the double quotation mark:
  
-<code>cString := "this is a string"</code>+<code visualfoxpro>cString := "this is a string"</code>
  
-This is valid for the VO, Vulcan and Code dialects. In the VO dialect a string can also be delimited by the single hyphen: +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
- +<code visualfoxpro>cString := 'this is a string'</code>
-<code>cString := 'this is a string'</code>+
  
 This is to make X# compatible to VO code. This is to make X# compatible to VO code.
  
-If you need to use special characters or double hyphens in your string, the Enhanced string does what you need: +If you need to use special characters or double quotation mark in your string, the enhanced string does what you need: 
- +<code visualfoxpro>cString := e"this is a \"string\"."</code>
-<code>cString := e"this is a \"string\"."</code>+
  
 and of course you can also embed other control characters in your string: and of course you can also embed other control characters in your string:
- +<code visualfoxpro>cString := e"this is a multiline\nstring with another\nline"</code>
-<code>cString := e"this is a multiline\nstring with another\nline"</code>+
  
 But you can do even more with interpolated strings: But you can do even more with interpolated strings:
- +<code visualfoxpro>local cMyVar := "Hi" as string
-<code>local cMyVar := "Hi" as string+
  
 cString := i"{cMyVar} guys"</code> cString := i"{cMyVar} guys"</code>
  
 Of course you can use both at the same time: Of course you can use both at the same time:
 +<code visualfoxpro>cString := ei"this is a \"string\". that references {cVariableName}"</code>
 +
 +As variable, not only a string variable can be used, but every type of object, and under the houd the '':ToString()'' method is called:
 +
 +<code visualfoxpro>local oPerson as Person
 +
 +cString := i"This is {oPerson}"</code>
 +
 +And if you wish, you can also use formatting expressions:
 +
 +<code visualfoxpro>local nValue as decimal
 +
 +nValue := 123.45m
 +cString := i"nValue: {nValue:######.0000}" // nValue: 123,4500
 +cString := i"nValue: {nValue:F6}" // nValue: 123,450000</code> 
 +
 +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:
 +<code visualfoxpro>cConnection := i"Driver={{Microsoft access Driver (*.mdb)}};Dbq={cDatabaseFile};Uid=Admin;Pwd=;"</code>
  
-<code>cString := ei"this is \"string\". that references {cLocalVar}"</code>+And only in the VO dialect, you need to prefix a char with the ''c'' prefix: 
 +<code visualfoxpro>cChar := c'a'</code>
  
 +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.
  
  
strings.1516546892.txt.gz · Last modified: 2018/01/21 15:01 by wolfgangriedmann