سؤال

هل هناك طريقة للإعلان عن متغير باعتباره Nullable في c#؟

struct MyStruct {        
    int _yer, _ner;

    public MyStruct() {

        _yer = Nullable<int>; //This does not work.
        _ner = 0;
    }
}
هل كانت مفيدة؟

المحلول

_yer يجب أن يتم الإعلان عنه كـ int؟أو لاغية<int>.

    int? _yer;
    int _ner;

    public MyStruct(int? ver, int ner) {

        _yer = ver;
        _ner = ner;
    }
}

او مثل هذا:

    Nullable<int> _yer;
    int _ner;

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

        _yer = ver;
        _ner = ner;
    }
}

تذكر أن البنيات لا يمكن أن تحتوي على مُنشئات صريحة بدون معلمات.

error CS0568: Structs cannot contain explicit parameterless constructors

نصائح أخرى

وحاول إعلان متغير الخاصة بك مثل هذا:

int? yer;

وحاول إعلان _yer كنوع قيم الفارغة في البداية، بدلا من أن تكون كثافة العمليات القياسية.

وماذا عن أنواع nullable :

struct MyStruct
{
    private int? _yer, _ner;
    public MyStruct(int? yer, int? ner)
    {
        _yer = yer;
        _ner = ner;
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top