Hi Guys,

This question spawned from an example jmc gave to someone on how to use a structure to implement IComparable... now I always thought that structures could only be used to store basic things like this:
vb.net Code:
  1. Private Structure PersonStruct
  2.   Dim FirstName As String
  3.   Dim Surname As String
  4.   Dim HouseNumber As Integer
  5. End Structure

but it turns out you can define functions, subs, delegates and even events, all from within a structure. So that made me think... whats the real differences between a Structure and a Class? JMC highlighted one difference and that was not being able to create a new instance of a structure and pass in arguments to be initialized but apart from the lack of constructors is there really much difference? I assume there must be as Classes seem to get used a hell of a lot more than structures but I dont really understand why there is a need for both of them if they are so similar... I mean if classes have a few more features then why ever use a structure? Are they more 'lightweight' or something?

Thanks
Chris