![]() |
|
Ternary operator in C#.NET - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175) +--- قسم : قسم مقالات C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=177) +--- الموضوع : Ternary operator in C#.NET (/showthread.php?tid=28337) |
Ternary operator in C#.NET - Sajad - 23-01-19 بسم الله الرحمن الرحيم
من الامور المهمة التي يجب على المبرمج ان يأخذها بعين الاعتبار استعمال بعض البدائل والتقنيات الحديثة التي يتم ادخالها او تطويرها في اللغة.
ومن هذه الامور التي يجب على المبرمج استعمالها او الاستعانة بها هي العبارات المختصرة التي توفرها اللغة بديلا لعبارات اخرى او اكواد اخرى.
وبما أننا نتحدث عن لغة سي شارب C#.NET فهذه اللغة في تطور مستمر حيث تعتبر حاليا اللغة الاولى لشركة مايكروسوفت فمن خلال لغة سي شارب تستطيع العمل في عدة مجالات منها:
1- تطبيقات سطح المكتب.
2- تطبيقات الويب.
3- تطبيقات الهاتف النقال.
4- ومجالات اخرى عديدة.
Ternary operator(:?): هي عبارة مختصرة بديلة عن عبارة if - else (يمكن استعمالها بدلا من if - else) وتكون صيغتها كالتالي:
PHP كود : Data_type variable = condition ? True : False; حيث تقابل صيغة if - else التالية:
PHP كود : if (condition)المثال التالي يبيّن كيفية استعمال Ternary operator بديلا عن صيغة if - else : PHP كود : int grade = 90;الفائدة من استخدام هكذا مختصرات هي تقليل الاسطر البرمجية لكن في المقابل ستزداد الكود تعقيدا والسبب:
تخيّل معي استخدام عبارة if المتداخلة و if - else المركبة كيف ستكون لو استبدلناها بـ Ternary operator؟
كل الامثلة بالاضافة الى المثال المذكور تجدونه في هذا الرابط على Github:
تحياتي لكم
![]() RE: Ternary operator in C#.NET - sendbad100 - 23-01-19 السلام عليكم
شكراَ لك
اشتقنا لمقالاتك اخي / سجاد
لاتطول الغيبه علينا
نتظر الجديد كما عهدنا منك
RE: Ternary operator in C#.NET - elgokr - 23-01-19 مقال جميل جداً شكراً لك اخى Sajad
واحببت ان اقوم باضافة رداً بتلك المعلومات
فاتمنا تقبل منى هذه الاضافة
فى البداية ساجعل المقالة تخص الـ C# وكذلك الـ VB.Net
بخصوص طريقة التعامل مع IF و ELSE الطريقة المذكورة هنا
تذكرني دائماً بلغة PHP وكيف كانت لها مميزات كثيرة كاستفادة من هذا الامر
على اى حال ادخل فى مضمون الشرح
فى الـ C#
الكتابة الاعتيادية لـ IF و Else هيكود : int ii = 0;فى الـ VB.NET
الكتابة الاعتيادية لـ IF و Else هيكود : Dim ii As Integer = 0فى الـ C#
عند التعامل مع IF و Else من خلال ? : يكون الكود بهذا الشكلكود : int ii = 0;فى الـ VB.NET
عند التعامل مع IF و Else من خلال IIF يكون الكود بهذا الشكلكود : Dim ii As Integer = 0نلاحظ التالى بان ? : هى نفسها IIF لكن بكل لغة تكتب كما تم شرحه بالاعلى
طيب الان كيفية يمكن عمل شرط تحقق واحد داخل الاخر
فى لغة C#
يمكن عمل كود التحقق واحد داخل الاخر كما يالى
فى البداية الكود الافتراضى الخاص بـ IF Elseكود : int ii = 0;لاحظ الان بطريقة ? : لنفس الكود كيف سيكون الشكل كود : int ii = 0;قمت بوضع شرط التحقق الاخر بين ( ) لكي تتمكن من الملاحظة
ولا يلزم وضعها فهى اختياري فيمكنك استخدامه بهذا الشكل كود : int ii = 0;فى لغة VB.NET
يمكن عمل كود التحقق واحد داخل الاخر كما يالى
فى البداية الكود الافتراضى الخاص بـ IF Elseكود : Dim ii As Integer = 0لاحظ الان بطريقة IIF لنفس الكود كيف سيكون الشكل كود : Dim ii As Integer = 0طبعاً هنا بخصوص استخدام ( ) فهى الزامي يجب استخدامها
الان بعد ما عرفنا كيف استخدام IF و Else فردي ومتعدد بداخل بعض
فالان الصورة الكاملة اصبحت مبسطة حتى واذا كنت تريد جعل اكثر من 2 من IF و Else داخل بعضهم البعض
وبالنهاية اتمنى ان لا اكون مخطاء فى شئ
او سهوت عن شئ بالنهاية نحن بشر
تحياتى لصاحب الموضوع وللجميع
وتمنياتى للجميع كل التوفيق
RE: Ternary operator in C#.NET - Sajad - 23-01-19 السلام عليكم حياك الله اخي sendbad100 شكرا على الاضافة القيمة اخي elgokr جزاك الله خيرا كفيت و وفيت. الامثلة على شرط التحقق واحدة داخل الاخرى باستخدام Ternary Operator موجودة في المثال على GitHub وتسمى: 1- Nested if. 2- Compound if. تحياتي لكم |