What's up with that?
The first sentence of each of the documentation pages you link to give a pretty clear description of their purpose (emphasis added):
the current date and time on this computer, expressed as the local time.
Gets the number of milliseconds elapsed since the system started.
Provides a set of methods and properties that you can use to accurately measure elapsed time.
Represents an instant in time, typically expressed as a date and time of day.
Represents a time interval.
(a difference between two points in time)
So DateTime
and TimeSpan
are not interchangeable, and more than Location
and Distance
are. They are related but represent different things.
If any of those are not clear, or you need further clarification, please say specifically what you're confused about.
Also, the definition of "Tick" seems to be inconsistent.
Because they're define _within the context of where they're defined. There's not an "industry-standard" definition for "ticks" that I'm aware of. Some types (like Stopwatch
) sacrifice range for greater precision, while others (like DateTime
) allow for much larger ranges but cannot be millisecond-precise.
Are there any others?
One that you haven't mentioned is:
Generates an event after a set interval, with an option to generate recurring events.
Again, it serves a different purpose. It's designed to do something at regular intervals.
I'm not sure how broad your scope is to know if there are "any others". If you have a specific need that isn't met by one of these classes then add that to your question.