26 lines
333 B
C#
26 lines
333 B
C#
|
// Compiler options: -unsafe
|
||
|
|
||
|
class Test
|
||
|
{
|
||
|
public static void Main (string[] args)
|
||
|
{
|
||
|
string s = "hello, world!";
|
||
|
Outer (s);
|
||
|
}
|
||
|
|
||
|
static void Outer (string s)
|
||
|
{
|
||
|
unsafe {
|
||
|
fixed (char* sp = s) {
|
||
|
char* p = sp;
|
||
|
Inner (ref p, sp);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static unsafe void Inner (ref char* p, char* sp)
|
||
|
{
|
||
|
++sp;
|
||
|
p = sp;
|
||
|
}
|
||
|
}
|