في 07 سبتمبر 2017 01:51 م، قال SAID SAID بهدوء وتؤدة:
bool isGrounded=false
إذا أعطيت المتغير isGrounded القيمة false في البداية (بداية function/دالة) فسوف تكون قيمته false عند تشغيل هذا الكود و سيقوم البرنامج بتنفيذ السطر:speed *= -1; أما إذا لم تعطي قيمة في البداية (بدابة function/دالة) للمتغير isGrounded فستظهر رسالة خطأ "use of unassigned local variable 'isGrounded'" تمنعك من عمل compile للبرنامج. أما إذا لم تعط المتغير isGrounded قيمة في البداية (بداية class) فسيقوم الـ default constructor الخاص بالـ class بتعريف المتغير isGrounded في الحالة الإفتراضية و هي false كما هو موضح في هذا الجدول https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/default-values-table و سيقوم البرنامج أيضا بتنفيذ السطر speed *= -1;
شكرا لك اخي على الرد لكن مازلت حائر في هذا الامر حسب الصورة فخارج false اذا كانت علامة ! فسوف يكون العكس وهي true وكذلك خارج true اذا كانت علامة ! فسوف يكون العكس وهي false
هذا الجدول يا أخي يشرح ناتج العمليات عند استخدام أحد المشغلات المنطقية && أو || أو ! و قبل أن نقوم بتطبيق ما في هذا الجدول على المثال الخاص بك يجب أن تعرف شيئا عند كتابة: if(isGrounded) فهذا بالضبط مساوى لكتابة: if(isGrounded == true) وهو معناه "هل هذا المتغير مفعل ؟" أما عند كتابة: if(!isGrounded) فذا بالضبط مساوي لكتابة: if(isGrounded == false) فهذا معناه "هل هذا المتغير غير مفعل ؟" ووظيفة المشغل ! هي عكس قيمة ما بعده.