But in general it's a very solid choice. You can even get around a lot of the inefficiency of GC by careful usage of structs.
But in general it's a very solid choice. You can even get around a lot of the inefficiency of GC by careful usage of structs.
I never got the verbosity argument. Verbosity comes down to the person using the language. With C#, you can be as verbose as you want to. Do you have any examples?
What kind of inefficiency are you speaking of? the CLR's GC is one of, if not the, most efficient around.
I do consider C# more verbose than the languages I love to look at. Think 'SelectMany', 'FirstOrDefault' and similar constructs - even if you write functional C# as much as possible, it still .. is verbose. If compared to F#, Clojure for example.
I don't think that's an issue, mostly, but that I do agree with the notion that C# is 'verbose'.
Sure, write a self-executing function in C#.
((Action)(() => Console.WriteLine("Hello")))();
or new Action(() => Console.WriteLine("Hello"))();
Yeah, it's verbose because you have to cast the lambda expression before executing it, but honestly I don't know any case where a self executing function can be useful in C#. (new Func<int>(() => 2))();