docs/sources/mono-api-string.html
Strings representation inside the Mono runtime.
#include <metadata/object.h> typedef struct { MonoObject object; gint32 length; gunichar2 chars [0]; } MonoString; @API_IDX@
All of the operations on strings are done on pointers to MonoString objects, like this:
MonoString *hello = mono_string_new (mono_domain_get (), "hello, world");
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.
Typically, you want to create the strings on the current application domain, so a call to mono_domain_get() is sufficient.