Ok I admit VB.Net is a weird language and one wonders where the designers got their inspiration from.

Let’s see how we can initialize an array while letting the compiler infer the type.

In C# that would be.

var stringarray = new[] { "test", "test" };```
In VB.Net this is.

```vbnet
Dim stringarray = {"test", "test"}```
Which might be slightly better and shorter than the C# version.
  
Now lets see the syntax for when we want to specify the type.

In C#.

```csharp
var stringarray = new string[] {"test", "test"};```
And in VB.Net that will be.

```vbnet
Dim stringarray = New String() {"test", "test"}```
Both are ok.

Now lets look at the collection initializers like list.

In C#.

```csharp
var stringlist = new List<string> {"test", "test"};```
In VB.Net.

```vbnet
Dim stringlist = New List(Of String) From {"test", "test"}```
The thing that strikes me as odd here is that someone decided they needed the From keyword here to make it work. 

So to recap.

C#

```csharp
var stringarray = new[] { "test", "test" };
var stringarray = new string[] {"test", "test"};
var stringlist = new List<string> {"test", "test"};```
VB.Net

```vbnet
Dim stringarray = {"test", "test"}
Dim stringarray = New String() {"test", "test"}
Dim stringlist = New List(Of String) From {"test", "test"}```
I think the C# version is much more consistent than the VB version so it would be nice if someone fixed that in the next version, thank you in advance ;-).