Q:

C# - Creating a 'var' array of a fixed size?

I'm trying to create an array of type var with a fixed length. I'm using it in a var Linked List class that I created. I know the size of the array I want to create, don't know what's the correct syntax? 
Here's the code:
public dynamic ToArray()
{
    int counter = 0;

    if (this.head == null)
        return null;
    else
        counter = 1;

    ListEntry i = this.head;
    while (i.Next != null)
    {
        counter++;
        i = i.Next;
    }

    var array = new[counter];

    i = this.head;
    for (int j = 0; j < array.Length; j++)
    {
        array[j] = i.Data;
        i = i.Next;
    }

    return array;
}

This part doesn't work:
var array = new[counter];

Any help?
EDIT: Thank you for the input everyone. I must admit that I wasn't very knowledgeable about the terminology of syntactic sugar when I posted. It now makes more sense. 
The idea behind this post was to create a dynamic Linked List class that could handle basic value types.

A:

I'm trying to create an array of type var

var is not a type, it's just a syntactic sugar for implicit type definition.You need to specify your array type:
var array = new YourType[counter];

With using var you let the compiler to infer the type.But in this case it works like a shortcut.Anyway it's useful when you are not sure about the returning type of an expression or method (for example it's useful when using LINQ).
var array = new[counter];

In this line if you mean to create an array that can contains any type of element you can create an array of objects or dynamic:
 var array = new object[counter];

Or:
 var array = new dynamic[counter];

