Задачка для новичков - C#
Формулировка задачи:
Возникла идейка задать небольшую задачку интересную (для новичков по крайней мере, т.к. она довольно простая): выведет ли следующий код одно и то же или нет? Если нет, то где будет различаться, в чем и почему? Если одно и то же, то почему одно и то же?
using System;
using System.Runtime.InteropServices;
public class Program
{
public static void Main()
{
PrintSize<Struct1>();
PrintSize<Struct2>();
PrintSize<Struct3>();
}
static void PrintSize<T>() where T : struct
{
Console.WriteLine("Sizeof {0} is {1}", typeof(T).Name, Marshal.SizeOf<T>());
}
}
public struct Struct1
{
byte B1;
long Long1;
byte B2;
long Long2;
byte B3;
}
public struct Struct2
{
byte B1;
long Long1;
byte B2;
byte B3;
long Long2;
}
public struct Struct3
{
byte B1;
byte B2;
byte B3;
long Long1;
long Long2;
}Решение задачи: «Задачка для новичков»
textual
Листинг программы
Marshal.SizeOf<T>() //Заменить Marshal.SizeOf(typeof(T))