That example is very obfuscated. I guess, what I mean to say is that there is obviously so many things going on in the background it can be very confusing for people who haven't touched a low level language and almost hard to keep track of for those that have. I guess the first part that sticks out to me is the casting in the array construction -i.e. casting INT to DOUBLE (I know, allowing the implicit cast does make for easier typing and I've done it myself many times, I'm sure, as well). And the second is the use of double in the first place (Yes, I know double is the "default" but I've just been burned with floating point math several times and I just get a little jumpy whenever I see it and when I have to use it I hate it). And lastly, I don't like that C# allows you to not explicitly signify that a double is a double (double doubleValue = 0.2; is the same as double doubleValue = 0.2d;); I think forcing this explicit notation should be the default not the other way around. -i.e.
double thisIsNotReallyADoubleVar = 50 / 100;
Yes, the example makes for "pretty code" but I guess I just look at it with nervous eyes.