From what I read, currently (and the 2.5 release) Unity is using Mono 1.2.5. In the release note for it, it states:
“The C# 3.0 support is enabled by passing the -langversion:linq option to the compiler. In addition to the above the C# 3.0 compiler also supports: extension methods, lambdas and anonymous method generic type inference.”
Now does the Mono that is being used in Unity Support these 3.0 features like LINQ, lambdas, etc…?
I’m really excited about LINQ and lambda expressions but I wonder how are the performance in the context of a game compared to some good old iterators :?:
That is a good point. I really do like the LINQ syntax as I do a lot of database work and it is so much easier to use something like LINQ for filter data that general iterators for complex situations but I think I will test out the speed difference from LINQ and iterators with the current version of c#/.NET that microsoft has out and see what the difference is (I am sure that Mono might have different results).
a move to mono2 was planned but as you can read in the uservoice system, there are incompatibility problems, so I would guess its a Unity 3.0 thing (which I personally expect to be the next non-bugfix release past 2.6, so not thaaat far away … in UT development time, thats 2.6 Release date + 6 - 12 months )