Errore del compilatore CS1920

Aggiornamento: novembre 2007

Messaggio di errore

L'inizializzatore di elementi non può essere vuoto.
Element initializer cannot be empty.

Un inizializzatore di insiemi è costituito da una sequenza di inizializzatori di elementi. Gli inizializzatori di elementi non devono essere racchiusi in parentesi a meno che non contengano un'espressione di assegnazione. Tuttavia, se sono presenti parentesi, non possono essere vuote. Se l'inizializzatore di elementi è un inizializzatore di oggetto, le parentesi potrebbero essere vuote finché l'inizializzatore contiene un'espressione di creazione di un nuovo oggetto.

Per correggere l'errore

  • Aggiungere l'espressione mancante tra parentesi.

  • Se l'espressione deve essere un inizializzatore di oggetto, aggiungere l'espressione di creazione di un nuovo oggetto davanti alle parentesi.

Esempio

Nell'esempio seguente viene generato l'errore CS1920:

  // cs1920.cs
using System.Collections.Generic;
public class Test
{
    public static int Main()
    {
        // Error. Empty initializer 
        // for inner list.
        List<List<int>> collection =
            new List<List<int>>() { { } }; // CS1920

        // OK. No initializer for inner list.
        List<List<int>> collection2 =
            new List<List<int>>() {  };

        // OK. Inner list is initialized 
        // to one List<int> with zero elements.
        List<List<int>> collection3 =
            new List<List<int>>() { new List<int> { } };
        return 0;
    }
}

Vedere anche

Riferimenti

Inizializzatori di oggetto e di insieme (Guida per programmatori C#)