Use struct instead of class for value types that have a small memory footprint
Do
struct Point { public int X { get; set; } public int Y { get; set; } }
Don't
class Point { public int X { get; set; } public int Y { get; set; } }
Do
struct Point { public int X { get; set; } public int Y { get; set; } }
Don't
class Point { public int X { get; set; } public int Y { get; set; } }