a thoughtful web.
Good ideas and conversation. No ads, no tracking.   Login or Take a Tour!
comment by adriancole
adriancole  ·  2241 days ago  ·  link  ·    ·  parent  ·  post: When would you use a struct instead of a class in C#

The general rule to follow is that structs should be small, simple (one-level) collections of related properties, that are immutable once created; for anything else, use a class.

C# is nice in that structs and classes have no explicit differences in declaration other than the defining keyword; so, if you feel you need to "upgrade" a struct to a class, or conversely "downgrade" a class to a struct, it's mostly a simple matter of changing the keyword (there are a few other gotchas; structs can't derive from any other class or struct type, and they can't explicitly define a default parameterless constructor).