Задачка для новичков - C#

Узнай цену своей работы

Формулировка задачи:

Возникла идейка задать небольшую задачку интересную (для новичков по крайней мере, т.к. она довольно простая): выведет ли следующий код одно и то же или нет? Если нет, то где будет различаться, в чем и почему? Если одно и то же, то почему одно и то же?
Листинг программы
  1. using System;
  2. using System.Runtime.InteropServices;
  3. public class Program
  4. {
  5. public static void Main()
  6. {
  7. PrintSize<Struct1>();
  8. PrintSize<Struct2>();
  9. PrintSize<Struct3>();
  10. }
  11. static void PrintSize<T>() where T : struct
  12. {
  13. Console.WriteLine("Sizeof {0} is {1}", typeof(T).Name, Marshal.SizeOf<T>());
  14. }
  15. }
  16. public struct Struct1
  17. {
  18. byte B1;
  19. long Long1;
  20. byte B2;
  21. long Long2;
  22. byte B3;
  23. }
  24. public struct Struct2
  25. {
  26. byte B1;
  27. long Long1;
  28. byte B2;
  29. byte B3;
  30. long Long2;
  31. }
  32. public struct Struct3
  33. {
  34. byte B1;
  35. byte B2;
  36. byte B3;
  37. long Long1;
  38. long Long2;
  39. }

Решение задачи: «Задачка для новичков»

textual
Листинг программы
  1. Marshal.SizeOf<T>()
  2. //Заменить
  3. Marshal.SizeOf(typeof(T))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы