Задачка для новичков - 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))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д