توضيح بعض المعاملات :-
[COLOR="#800080"]
typeof : هذا يستعمل لجلب الفئة ك system.type
ونستفيد من هذا الامر في التعامل مع الفئة ومعرفة عنوانها ووو ، مثلا :
تم استدعاء الاجراء msg ضمن فئة Temp
--
checked : يفحص القيم قبل إعطائها للمتغير
فلو كانت القيمة اكبر من حجم المتغير(overflow)
سيحصل إستثناء
في الوضع العادي (بدون checked) عندما يحصل فيضان(overflow) للمتغير
يتم عرض اقصى قيمة يتحملها المتغير وتحويلها للسالب
مثلا :
ستظهر لك رسالة بقيمة المتغير
ستكون قيمته 2,147,483,639-
لان اكبر قيمة يتحملها int بين موجب 2,147,483,639 وسالب 2,147,483,639-
قمنا باضافة 10 للمتغير فلم يتحمل ذلك وقام بعرض قيمة خاطئة لانريدها
ماذا لو كنا نريد من البرنامج ان يحدث لنا استثنائا ان حصل هذا الامر
عوضا عن عرض قيمة خاطئة !! < فنحن لانريد عرض قيم خاطئة في برامجنا
الحل باستعمال checked
سيتم عرض استثناء بدل عرض 2,147,483,639-
يمكن استعال checked كا (بلوك) اذا كنا نريد التحقق من اكثر من متغير
مثلا :
--
sizeof : يستخدم لمعرفة حجم الانواع
مثلا لمعرفة حجم النوع int :
--
المعامل * يستخدم لضرب الارقام وتعريف الpointers
مثلا :
--
await : قد شرحها الاستاذ الكبير sajad سابقا على هذا الرابط : هنا
وايضا تستعمل معاها async ولكن لم يذكرها موقع mdsn ك معامل حيث يبدون انها كلمة مفتاحية (keyword) وليست معامل
--
المعامل >> يستخدم لإدراج اصفار على يمين البايت
مثلا :
والمعامل << يستخدم لإدراج اصفار على يسار البايت
--
is : للتأكد من نوع الكائن
مثلا :
--
المعامل :? يستخدم لإرجاع قيمة عند تحقق شرط معين
وإرجاع قيمة اخرى عند عدم تحقق الشرط (شبيهة ب if)
مثلا :-
سيتم إرجاع who are you اذا كان المتغير str لايساوي ahmed
--
المعامل ?? يستخدم لإرجاع قيمة عندما يكون الكائن فارغ null
ماذا لو كنت تريد ان تخبر المستخدم ان الكائن فارغ فنستعمل هذا المعامل
مثال :
ستظهر رسالة للمستخدم تقول ان op فارغ
ولكن لو اسندنا قيمة
مثال :
لن تظهر op is null لأننا اسندنا قيمة للمتغير op فهو الان ليس null
--
المعامل ? يستخدم لتعريف متغيرات ذات قيمة لكي تدعم القيمة null
فهذا التعبير لايجوز
ولكن هذا يجوز :
باستعمال هذا المعامل حصلنا على خاصية HasValue التي نستطيع من خلالها معرفة إن كان المتغير null او لا
مثال :
[/COLOR]
--
--
--
[COLOR="#B22222"]إلى هنا أعزائي نصل معكم لآخر المقالة
اتمنى انكم استفدتم من هذه المعلومات المتواضعة
ونلقاكم في مقالات قادمة إن شاء الله[/COLOR]
إنتهى.
[COLOR="#800080"]
typeof : هذا يستعمل لجلب الفئة ك system.type
ونستفيد من هذا الامر في التعامل مع الفئة ومعرفة عنوانها ووو ، مثلا :
PHP كود :
class Temp
{
public static void msg(string text) { MessageBox.Show(text); }
}
private void Form1_Load(object sender, EventArgs e)
{
Type t = typeof(Temp);
object[] parameters = new object[] { "Hello" };
t.GetMethod("msg").Invoke(null, parameters);
}
تم استدعاء الاجراء msg ضمن فئة Temp
--
checked : يفحص القيم قبل إعطائها للمتغير
فلو كانت القيمة اكبر من حجم المتغير(overflow)
سيحصل إستثناء
في الوضع العادي (بدون checked) عندما يحصل فيضان(overflow) للمتغير
يتم عرض اقصى قيمة يتحملها المتغير وتحويلها للسالب
مثلا :
PHP كود :
int input = 10;
int result = 2147483647 + input;
MessageBox.Show(result.ToString());
ستظهر لك رسالة بقيمة المتغير
ستكون قيمته 2,147,483,639-
لان اكبر قيمة يتحملها int بين موجب 2,147,483,639 وسالب 2,147,483,639-
قمنا باضافة 10 للمتغير فلم يتحمل ذلك وقام بعرض قيمة خاطئة لانريدها
ماذا لو كنا نريد من البرنامج ان يحدث لنا استثنائا ان حصل هذا الامر
عوضا عن عرض قيمة خاطئة !! < فنحن لانريد عرض قيم خاطئة في برامجنا
الحل باستعمال checked
PHP كود :
int input = 10;
try
{
int result = checked(2147483647 + input);
MessageBox.Show(result.ToString());
}
catch (OverflowException ex)
{
MessageBox.Show(ex.Message);
}
سيتم عرض استثناء بدل عرض 2,147,483,639-
يمكن استعال checked كا (بلوك) اذا كنا نريد التحقق من اكثر من متغير
مثلا :
PHP كود :
int input = 10;
int input2 = 505;
checked
{
try
{
int result = 2147483647 + input;
MessageBox.Show(result.ToString());
}
catch(OverflowException ex) { MessageBox.Show(ex.Message); }
try
{
int result = 2147483647 + input2;
MessageBox.Show(result.ToString());
}
catch (OverflowException ex) { MessageBox.Show(ex.Message); }
}
--
sizeof : يستخدم لمعرفة حجم الانواع
مثلا لمعرفة حجم النوع int :
PHP كود :
MessageBox.Show(sizeof(int).ToString() + " Bytes");
--
المعامل * يستخدم لضرب الارقام وتعريف الpointers
مثلا :
PHP كود :
private void Form1_Load(object sender, EventArgs e)
{
unsafe
{
int* ans = (int*)44;
}
}
--
await : قد شرحها الاستاذ الكبير sajad سابقا على هذا الرابط : هنا
وايضا تستعمل معاها async ولكن لم يذكرها موقع mdsn ك معامل حيث يبدون انها كلمة مفتاحية (keyword) وليست معامل
--
المعامل >> يستخدم لإدراج اصفار على يمين البايت
مثلا :
PHP كود :
int binNum = Convert.ToInt32("00000001", 2); //00000001 = 1 on decmal
binNum = binNum << 4; //سيتم ادراج 4اصفار على اليمين ليصبح
//00010000
MessageBox.Show(binNum.ToString()); //00010000 = 16 on dec
والمعامل << يستخدم لإدراج اصفار على يسار البايت
--
is : للتأكد من نوع الكائن
مثلا :
PHP كود :
OpenFileDialog op = new OpenFileDialog();
if (op is OpenFileDialog)
{
MessageBox.Show("is openfile dialog");
}
else
{
MessageBox.Show("is not openfile dialog");
}
--
المعامل :? يستخدم لإرجاع قيمة عند تحقق شرط معين
وإرجاع قيمة اخرى عند عدم تحقق الشرط (شبيهة ب if)
مثلا :-
PHP كود :
string str = "ahmed";
string result = (str == "ahmed") ? "welcome ahmed xD" : "Who are you ??";
سيتم إرجاع who are you اذا كان المتغير str لايساوي ahmed
--
المعامل ?? يستخدم لإرجاع قيمة عندما يكون الكائن فارغ null
ماذا لو كنت تريد ان تخبر المستخدم ان الكائن فارغ فنستعمل هذا المعامل
مثال :
PHP كود :
string op = null;
MessageBox.Show(op ?? "op is Null!!!");
ستظهر رسالة للمستخدم تقول ان op فارغ
ولكن لو اسندنا قيمة
مثال :
PHP كود :
string op = null;
op = "Welcome Mohammed";
MessageBox.Show(op ?? "op is Null!!!");
لن تظهر op is null لأننا اسندنا قيمة للمتغير op فهو الان ليس null
--
المعامل ? يستخدم لتعريف متغيرات ذات قيمة لكي تدعم القيمة null
فهذا التعبير لايجوز
PHP كود :
int op = null;
ولكن هذا يجوز :
PHP كود :
int? op = null;
باستعمال هذا المعامل حصلنا على خاصية HasValue التي نستطيع من خلالها معرفة إن كان المتغير null او لا
مثال :
PHP كود :
int? op = null;
if (!op.HasValue)
{
MessageBox.Show("op is null");
}
--
--
--
[COLOR="#B22222"]إلى هنا أعزائي نصل معكم لآخر المقالة
اتمنى انكم استفدتم من هذه المعلومات المتواضعة
ونلقاكم في مقالات قادمة إن شاء الله[/COLOR]
إنتهى.

