تهيئة متغير البنية إلى Nullable<int>
سؤال
هل هناك طريقة للإعلان عن متغير باعتباره 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;
}
}
لا تنتمي إلى StackOverflow