new keyword without class name in c#
<p>While going through the ASP.NET MVC docs I see this idiom being used alot:</p>

<pre><code>new { foo = "bar", baz = "foo" }
</code></pre>

<p>Is this a Dictionary literal syntax?
Is it a new class/struct with the type inferred by the called function definition?
If it is how come the vars don't need a type definition, not even <code>var</code>?</p>
