When exactly do I use a struct (Dont tell me when I want things to be allocated on a stack)
A lot of times the answer is merely when I want things to be allocated on a stack instead of the heap.. assuming I dont know what the stack and the heap are (and please dont try to explain it here), when exactly should I be using structs instead of classes?

Here is the answer I've been giving out, but please tell me if I'm wrong or falling short of a better answer:

I create structs usually when I have enums that I want to add more data to. For instance, I might start with a simple enum:

    public enum Colors { Blue, Green, Red }

Then if I need to store more aspects of this data I go to structs:

    public struct Color
    {
        string Name;
        int HexValue;
        string Description;
    }

    public class Colors
    {
        public static Color Blue;
        public static Color Red;
        public static Color Green;
        static Colors()
        {
            Blue = new Color("Blue", 1234, "A light blue"
        }
    }

The point is... similar to enums, I use structs just when I want to declare a bunch of types.
When exactly do I use a struct (Dont tell me when I want things to be allocated on a stack)
===

A lot of times the answer is merely when I want things to be allocated on a stack instead of the heap.. assuming I dont know what the stack and the heap are (and please dont try to explain it here), when exactly should I be using structs instead of classes?

Here is the answer I've been giving out, but please tell me if I'm wrong or falling short of a better answer:

I create structs usually when I have enums that I want to add more data to. For instance, I might start with a simple enum:

    public enum Colors { Blue, Green, Red }

Then if I need to store more aspects of this data I go to structs:

    public struct Color
    {
        string Name;
        int HexValue;
        string Description;
    }

    public class Colors
    {
        public static Color Blue;
        public static Color Red;
        public static Color Green;
        static Colors()
        {
            Blue = new Color("Blue", 1234, "A light blue"
        }
    }

The point is... similar to enums, I use structs just when I want to declare a bunch of types.