Public feed #600722

tobz

public text v1 · immutable
Raw Edit
·published 2007-07-03 01:40 UTC
rendered paste body
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;

namespace ConsoleApplication4
{
    class Program
    {
        [StructLayout(LayoutKind.Sequential, Pack = 1)]
        public struct Point
        {
            int X;
            int Y;
        }

        static unsafe void Main(string[] args)
        {
            Point[] points = new Point[4];
            int[] intArr = new int[8];
            int* nextIntPtr;

            intArr[0] = 5;
            intArr[1] = 3;
            intArr[2] = 5;
            intArr[3] = 3;
            intArr[4] = 5;
            intArr[5] = 3;
            intArr[6] = 5;
            intArr[7] = 3;

            fixed(int* intArrPtr = intArr)
            {
                nextIntPtr = intArrPtr;

                for(int i = 0; i < 4; i++)
                {
                    points[i] = *(Point*)nextIntPtr;
                    nextIntPtr += 8;

                    Console.WriteLine("Size of struct #{0}: {1}", i.ToString(), Marshal.SizeOf(points[i]).ToString());
                }
            }

            Console.ReadLine();
        }
    }
}