Sophie

Sophie

distrib > Mandriva > 2009.1 > x86_64 > media > main-backports > by-pkgid > ec081eb1f0fb87b7640153d3a3340fac > files > 139

mono-doc-2.4.2.2-1mdv2009.1.x86_64.rpm

<h2>Strings</h2>

	<p>Strings representation inside the Mono runtime.

<h3>Synopsis</h3>

	<div class="header">
#include &lt;metadata/object.h&gt;

typedef struct {
	MonoObject object;
	gint32 length;
	gunichar2 chars [0];
} MonoString;

@API_IDX@
	</div>

	<p>All of the operations on strings are done on pointers to
	MonoString objects, like this:

	<div class="code">
	MonoString *hello = mono_string_new (mono_domain_get (), "hello, world");
	</div>

	<p>Strings are bound to a particular application domain, which
	is why it is necessary to pass a MonoDomain argument as the
	first parameter to all the constructor functions. 

	<p>Typically, you want to create the strings on the current
	application domain, so a call to <tt>mono_domain_get()</tt> is
	sufficient.
	
<h3>Constructors</h3>
	
<h4><a name="api:mono_string_new">mono_string_new</a></h4>
<h4><a name="api:mono_string_new_len">mono_string_new_len</a></h4>
<h4><a name="api:mono_string_new_size">mono_string_new_size</a></h4>
<h4><a name="api:mono_string_new_utf16">mono_string_new_utf16</a></h4>
<h4><a name="api:mono_string_from_utf16">mono_string_from_utf16</a></h4>

<h3>Conversions</h3>

<h4><a name="api:mono_string_to_byvalstr">mono_string_to_byvalstr</a></h4>
<h4><a name="api:mono_string_to_byvalwstr">mono_string_to_byvalwstr</a></h4>
<h4><a name="api:mono_string_to_utf16">mono_string_to_utf16</a></h4>
<h4><a name="api:mono_string_to_utf8">mono_string_to_utf8</a></h4>
<h4><a name="api:mono_string_utf16_to_builder">mono_string_utf16_to_builder</a></h4>
<h4><a name="api:mono_string_utf8_to_builder">mono_string_utf8_to_builder</a></h4>

<h3>Methods</h3>

<h4><a name="api:mono_string_equal">mono_string_equal</a></h4> 
<h4><a name="api:mono_string_hash">mono_string_hash</a></h4> 
<h4><a name="api:mono_string_intern">mono_string_intern</a></h4>
<h4><a name="api:mono_string_is_interned">mono_string_is_interned</a></h4>
<h4><a name="api:mono_string_new_wrapper">mono_string_new_wrapper</a></h4>
<h4><a name="api:mono_string_chars">mono_string_chars</a></h4>
<h4><a name="api:mono_string_length">mono_string_length</a></h4>


<h3>String Builders</h3>

	<p>These routines are used to work with the managed types
	<tt>System.Text.StringBuilder</tt>.
	
<h4><a name="api:mono_string_builder_to_utf16">mono_string_builder_to_utf16</a></h4>
<h4><a name="api:mono_string_builder_to_utf8">mono_string_builder_to_utf8</a></h4>

<h3>Other Encodings</h3>

	<p>These routines are used when coping with strings that come
	from Mono's environment, and might be encoded in one or more
	of the external encodings.

	<p>For example, some file systems might historically contain a
	mix of file names with both old and new encodings, typically
	UTF8 for new files, and the old files would be encoded in an 8
	bit character set (ISO-8859-1 for example).
	
	<p>These routines try a number of encodings, those specified
	in the <tt>MONO_ENCODINGS</tt> environment variable and return
	unicode strings that can be used internally.

	<p>See the mono(1) man page for more details.
	
<h4><a name="api:mono_unicode_from_external">mono_unicode_from_external</a></h4>
<h4><a name="api:mono_unicode_to_external">mono_unicode_to_external</a></h4>
<h4><a name="api:mono_utf8_from_external">mono_utf8_from_external</a></h4>