i try to call C code passing C# char[] type to C short * type. unfortunately the following line [DllImport("struct.dll")] public static extern void printCharArray(int n, [MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I2)] char[] s); convert my char[] to a char * any solution ?