public static class Test
{
public static bool Run()
{
int[8] a;
a[2] = 5;
a[3] = 10;
a[4] = 15;
int[4] b;
a.CopyTo(2, b, 1, 3);
int[] p = a;
p.CopyTo(3, b, 0, 1);
p.CopyTo(3, a, 5, 2);
int[]! p2 = a;
b.CopyTo(1, p2, 0, 1);
int[5] c;
b.CopyTo(0, c, 1, 4);
string[2] ss;
ss[0] = "foo";
ss[1] = "bar";
string[3] sd;
ss.CopyTo(0, sd, 1, 1);
return b[1] == 5 && b[2] == 10 && b[3] == 15
&& b[0] == 10
&& a[5] == 10 && a[6] == 15
&& a[0] == 5
&& c[1] == 10 && c[2] == 5 && c[3] == 10 && c[4] == 15
&& sd[1] == "foo";
}
}