1: using System;
2: using System.Runtime.InteropServices;
3:
4: [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
5: public struct Ex1 {
6: private char x;
7: }
8:
9: [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
10: public struct Ex2 {
11: private char x;
12: }
13:
14: public class Program {
15:
16: public static unsafe void Main() {
17: Console.Out.WriteLine("sizeof(Ex1) = {0}", sizeof (Ex1));
18: Console.Out.WriteLine("Marshal.SizeOf(typeof(Ex1)) = {0}", Marshal.SizeOf(typeof (Ex1)));
19: Console.Out.WriteLine("sizeof(Ex2) = {0}", sizeof (Ex2));
20: Console.Out.WriteLine("Marshal.SizeOf(typeof(Ex2)) = {0}", Marshal.SizeOf(typeof (Ex2)));
21: }
22: }