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 ;-).