10-05-14, 10:13 PM
(آخر تعديل لهذه المشاركة : 11-05-14, 12:18 AM {2} بواسطة الشاكي لله.)
السلام عليكم ورحمة الله وبركاته
في سي شارب 4 ، مع ظهور الكثير من الميزات امثال الكلمات المفتاحية dynamic و async, await ظهرت لنا ايضا ميزة جديدة وهي الColon with passing paremeters
الColon يقصد بها النقطتين الرأسيتين (:)
حيث يمكن استعمالها في اكثر من موضع ولكنني فقط سأعرض كيفية استخدامها مع البارمترات :
فائدتها بسيطة وهي : اعطاء قيمة للبارميتار بالاسم .
يعني لما اقول age: 22
كاني اتحدث مع المترجم واقول له : "يا ايها الCompiler العزيز ، اعطي البارميتار المدعو age قيمة رقمية وهي 22 "
وذلك اعطى ميزة اعادة ترتيب البارمترات ، حيث لاتوجد مشكلة لو قمت بقلب البارمترات السابقة من :
الى
تذكر اني لم اقم باعادة ترتيب بارمترات الدالة ولم المسها اصلا
* اذن عرفنا الColon تستخدم لأسناد قيمة للبارميتار ليس على حسب الترتيب بل على حسب اسم الباريمتار (فرأينا كيف اسندنا قيمة للبارميتار age قبل الاسناد الى البارميتار name مع ان الدالة تريد ان يتم اسناد name اولا ، ولكن اخترقنا هذا الحاجز لاننا قمنا بعمل مايسمى
Passing Arguments by Name
وليس
Passing Arguments by Position
--
الفائدة الاخرى لإستخدام الColon هي جعل الكود اكثر وضوحا ، سأضرب مثال بسيط .. وهو مثال لدالة وظيفتها قسمة الاعداد
وكما نعرف ان عملية القسمة تحتاج شيئين : المقسوم (dividend) و المقسوم عليه(divisor)
انظروا هذا الكود
الان اريدك ان تخبرني من هو المقسوم ومن هو المقسوم عليه في الكود السابق ؟؟؟؟؟
الامر محير جدا ولايمكنك ان تعرف الا بوجود كود دالة Div حتى تعرف ترتيب البارميترات.
هاااه عجزت ؟؟؟
اساعدك ؟؟؟
حسنا ياصديقي سأساعدك
ساقوم باستخدام الColon :
الان اصبح الامر واضحا وضوح الشمس ، وتذكر انت لحد الان ماشفت كود الدالة لكن بالتأكيد عرفت من هو المقسوم ومن هو المقسوم عليه .
وهاهو كود دالة Div :
تخيل معي لو انا ما استعملت الColon ولم اقم باعطائك كود دالة Div لكنت الان تضرب راسك بالحيطان حتى تعرف من هو الdivident ومن هو الdivisor
هذه فائدة كبيرة للColon وهي جعل الكود اكثر وضوحا وفهما للمشاهد دون الحاجة الى رؤية كود الدالة و دون الحاجة الى نقل الكود الى الفيجوال ستوديو ورؤية التلميح الذي يظهر :
< you don't need to see this if you using Colon
انتهى
في سي شارب 4 ، مع ظهور الكثير من الميزات امثال الكلمات المفتاحية dynamic و async, await ظهرت لنا ايضا ميزة جديدة وهي الColon with passing paremeters
الColon يقصد بها النقطتين الرأسيتين (:)
حيث يمكن استعمالها في اكثر من موضع ولكنني فقط سأعرض كيفية استخدامها مع البارمترات :
PHP كود :
void Test(string name, int age)
{
}
private void Form1_Load(object sender, EventArgs e)
{
Test(name: "Mohammed", age: 220);
}
فائدتها بسيطة وهي : اعطاء قيمة للبارميتار بالاسم .
يعني لما اقول age: 22
كاني اتحدث مع المترجم واقول له : "يا ايها الCompiler العزيز ، اعطي البارميتار المدعو age قيمة رقمية وهي 22 "
وذلك اعطى ميزة اعادة ترتيب البارمترات ، حيث لاتوجد مشكلة لو قمت بقلب البارمترات السابقة من :
PHP كود :
void Test(string name, int age)
{
}
private void Form1_Load(object sender, EventArgs e)
{
Test(name: "Mohammed", age: 22);
}
الى
PHP كود :
void Test(string name, int age)
{
}
private void Form1_Load(object sender, EventArgs e)
{
Test(age: 22, name: "Mphammed");
}
تذكر اني لم اقم باعادة ترتيب بارمترات الدالة ولم المسها اصلا
* اذن عرفنا الColon تستخدم لأسناد قيمة للبارميتار ليس على حسب الترتيب بل على حسب اسم الباريمتار (فرأينا كيف اسندنا قيمة للبارميتار age قبل الاسناد الى البارميتار name مع ان الدالة تريد ان يتم اسناد name اولا ، ولكن اخترقنا هذا الحاجز لاننا قمنا بعمل مايسمى
Passing Arguments by Name
وليس
Passing Arguments by Position
--
الفائدة الاخرى لإستخدام الColon هي جعل الكود اكثر وضوحا ، سأضرب مثال بسيط .. وهو مثال لدالة وظيفتها قسمة الاعداد
وكما نعرف ان عملية القسمة تحتاج شيئين : المقسوم (dividend) و المقسوم عليه(divisor)
انظروا هذا الكود
PHP كود :
private void Form1_Load(object sender, EventArgs e)
{
Div(5, 10);
}
الان اريدك ان تخبرني من هو المقسوم ومن هو المقسوم عليه في الكود السابق ؟؟؟؟؟
الامر محير جدا ولايمكنك ان تعرف الا بوجود كود دالة Div حتى تعرف ترتيب البارميترات.
هاااه عجزت ؟؟؟
اساعدك ؟؟؟
حسنا ياصديقي سأساعدك
ساقوم باستخدام الColon :
PHP كود :
private void Form1_Load(object sender, EventArgs e)
{
Div(dividend: 5, divisor: 10);
}
الان اصبح الامر واضحا وضوح الشمس ، وتذكر انت لحد الان ماشفت كود الدالة لكن بالتأكيد عرفت من هو المقسوم ومن هو المقسوم عليه .
وهاهو كود دالة Div :
PHP كود :
int Div(int dividend, int divisor)
{
return dividend / divisor;
}
تخيل معي لو انا ما استعملت الColon ولم اقم باعطائك كود دالة Div لكنت الان تضرب راسك بالحيطان حتى تعرف من هو الdivident ومن هو الdivisor
هذه فائدة كبيرة للColon وهي جعل الكود اكثر وضوحا وفهما للمشاهد دون الحاجة الى رؤية كود الدالة و دون الحاجة الى نقل الكود الى الفيجوال ستوديو ورؤية التلميح الذي يظهر :
< you don't need to see this if you using Colon
انتهى