Error del compilador CS1920

Actualización: noviembre 2007

Mensaje de error

El inicializador de elemento no puede estar vacío.
Element initializer cannot be empty.

Un inicializador de colección se compone de una secuencia de inicializadores de elemento. Los inicializadores de elemento no tienen que aparecer entre corchetes a menos que contengan una expresión de asignación. Sin embargo, si incluye los corchetes, no pueden estar vacíos. Si el inicializador de elemento es un inicializador de objeto, los corchetes pueden estar vacíos siempre que el inicializador contenga una nueva expresión de creación de objeto.

Para corregir este error

  • Agregue la expresión que falta entre corchetes.

  • Si se espera que la expresión sea un inicializador de objeto, agregue la nueva expresión de creación de objeto delante de los corchetes.

Ejemplo

El ejemplo siguiente genera el error 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;
    }
}

Vea también

Referencia

Inicializadores de objeto y de colección (Guía de programación de C#)