Type:String: Difference between revisions

From Resonite Wiki
imported>DoubleStyx
m clearing old lists
 
No edit summary
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The '''string''' type is a direct interface to [https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/strings/ the same type in C#].


Strings are considered an [[Type:object|object]] rather than a primitive, and as such one should use the corresponding object components and ProtoFlux nodes to interface with them. However, if one needs to choose a difference between a reference and value for the string type, it is a value.
Strings are sequences of [[Type:char|chars]], and as such are [https://en.wikipedia.org/wiki/UTF-16 UTF-16] encoded. When representing characters that are outside the [https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_Multilingual_Plane Basic Multilingual Plane], a pair of two <code>char</code>s is used, known as a [https://en.wikipedia.org/wiki/Surrogate_pair#U+D800_to_U+DFFF_(surrogates) surrogate pair]. Due to this, not every character in a string may be mapped directly to one <code>char</code>, and this can cause confusion when using ProtoFlux nodes on strings containing non-BMP characters. Additionally, stray surrogate characters that are not part of a surrogate pair may not behave as intended.
Most string-displaying components have an option for [[Rich Text Formatting]], which allow users to put in HTML-like codes to change the style of the text.
== See Also ==
* [[:Category:ProtoFlux:Strings]]

Latest revision as of 15:44, 24 September 2024

The string type is a direct interface to the same type in C#.

Strings are considered an object rather than a primitive, and as such one should use the corresponding object components and ProtoFlux nodes to interface with them. However, if one needs to choose a difference between a reference and value for the string type, it is a value.

Strings are sequences of chars, and as such are UTF-16 encoded. When representing characters that are outside the Basic Multilingual Plane, a pair of two chars is used, known as a surrogate pair. Due to this, not every character in a string may be mapped directly to one char, and this can cause confusion when using ProtoFlux nodes on strings containing non-BMP characters. Additionally, stray surrogate characters that are not part of a surrogate pair may not behave as intended.

Most string-displaying components have an option for Rich Text Formatting, which allow users to put in HTML-like codes to change the style of the text.

See Also