More generally: I don't think I've asked how your C# experience compares to VB6. Are you finding it tons more powerful/efficient? One of my friends (before I started C#, and before C++11) once told me he thought he was an order of magnitude quicker using C# over C++. I didn't believe him at the time, but once I started using it myself I was a lot more inclined to agree. From my point of view it's due to: 1) No memory management issues due to garbage collection (almost solved in C++11 by smart pointers) 2) Built in container library (.NET) from the start (solved for new projects by STL in C++11) and 3) Intellisense - it's a big win to be notified of a syntax error by having auto-complete stop working and to see the error underlined.
John
I'm very impressed with C# so far. Considerably more flexible than VB6. Garbage collection is very useful but I have found using LINQ with Lambda expressions to be the biggest factor. Once I load everything into collections, I can query in the same way as a database, except I can include functions within that code.
For example, the code below is creating a list of comets to display in the orders window. This one line of code pulls the comets for a specific system, retrieving either all comets or only the unsurveyed ones depending on the state of a checkbox (based on the viewing race), excludes those with an existing population, orders the selection by component and name (which is pulled from a function within the LINQ) and then puts the comets into a collection. This would take a little longer in VB
List<SystemBody> Comets = Aurora.SystemBodyList.Values.Where(x => x.ParentSystem == CurrentSystem.System && x.BodyClass == AuroraSystemBodyClass.Comet && (x.Surveys.Contains(FleetRace.RaceID) == false || chkExcludeSurveyed.CheckState == CheckState.Unchecked)).Except(PopSB).OrderBy(x => x.ParentStar.Component).ThenBy(x => x.ReturnSystemBodyName(FleetRace)).ToList();
Intellisense is very good too and being able to use Peek Definitions mid-code makes things much easier in the IDE.
BTW I was a C++ programmer for DEC a LONG time ago. I was writing VBX controls for Windows 3.1. C++ was powerful but definitely programming without a safety net