Pregunta

¿Hay una manera de declarar una variable como Nullable en c #?

struct MyStruct {        
    int _yer, _ner;

    public MyStruct() {

        _yer = Nullable<int>; //This does not work.
        _ner = 0;
    }
}
¿Fue útil?

Solución

_yer debe declararse como int? o Nullable < int > ;.

    int? _yer;
    int _ner;

    public MyStruct(int? ver, int ner) {

        _yer = ver;
        _ner = ner;
    }
}

O como esto:

    Nullable<int> _yer;
    int _ner;

    public MyStruct(Nullable<int> ver, int ner) {

        _yer = ver;
        _ner = ner;
    }
}

Recuerde que las estructuras no pueden contener constructores explícitos sin parámetros.

error CS0568: Structs cannot contain explicit parameterless constructors

Otros consejos

Intenta declarar tu variable de esta manera:

int? yer;

Intenta declarar a _yer como tipo de Nullable inicialmente, en lugar de como un int estándar.

¿Qué tal tipos anulables :

struct MyStruct
{
    private int? _yer, _ner;
    public MyStruct(int? yer, int? ner)
    {
        _yer = yer;
        _ner = ner;
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top