You don't write your type twice in C# either. So, the second example would be:
var d = new Dictionary<string, string>();
`Dim` is worse than `var` because nobody uses the word "Dimension" when they're talking about variables.