Old-school style (note the hyphen use there) was to use hyphens with many prefixes (such as pre-school) but now-a-days (again, hyphen) most prefixes are not hyphenated (i.e. preschool). However, hyphens are required if you’re adding a prefix to a proper adjective (i.e. how very un-Canadian of him). Hyphens are also used with prefixes such as ex- (ex-boyfriend), self- (self-confident), all (all-encompassing), and with the suffix –elect (mayor-elect).
Generally, use a hyphen when:
1) joining two or more words together to serve as a single adjective before a noun (i.e. a one-way street, a well-known author) but not after the noun (i.e. the author was well known).
2) joining compound numbers (i.e. thirty-two).
3) avoiding confusion or an awkward combination of letters (i.e. re-sign the petition – so as not to confuse with resign).
The ‘en dash’, so named since it is roughly the width of an ‘n’, is slightly longer than a hyphen and is used for periods of time when you might otherwise use ‘to’. For example, I lived in Montreal during the years 1999–2000.
The ‘en dash’ is also used to contrast values or illustrate a relationship between two things. For example: mother–daughter relationship, Ottawa–Toronto flight, a score of 12–3.
The ‘em dash’, a dash which is the width of an ‘m’, is best for informal writing where it can replace commas, semicolons, colons or parentheses and indicates emphasis, an interruption, or a change of thought.
I find that blogging—especially blogging each day—can be quite challenging.
Tonight V’s out playing ultimate—I’m home with the baby.
I’m a big fan of the ‘em dash’ in my writing—although I try to avoid it in formal writing.
The em dash can also be used to replace the rest of a word that wouldn't be appropriate to spell out (a d— fine job).
Spaces are not recommended before or after the en or the em dash.