This is not an anonymous type; this is just a type obtained from
type inference. Consider
var stringBuilder = new System.Text.StringBuilder();
string whatIsIt = stringBuilder.GetType().FullName;
The last line will return "System.Text.StringBuilder", quite fully named :-); and the first line is
strictly equivalent to
System.Text.StringBuilder(); stringBuilder = new System.Text.StringBuilder();
So, this is nothing but syntax,
syntactic sugar (
http://en.wikipedia.org/wiki/Syntactic_sugar[
^]).
You can try the same with the number and the string, will see a concrete named type.
I guess it's apparent when you can use this feature: when you know that "compiler's guess" is apparent and you get what you expected.
And anonymous type is something totally different:
https://msdn.microsoft.com/en-us/library/bb397696.aspx[
^].
—SA