![]() |
|
null-coalescing operator - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175) +--- قسم : قسم مقالات C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=177) +--- الموضوع : null-coalescing operator (/showthread.php?tid=21098) |
null-coalescing operator - Sajad - 17-07-17 بسم الله الرحمن الرحيم
((ربِ اشرح لي صدري ويسر لي أمري وأحلل عقدةً من لساني يفقهوا قولي))
#Null-coalescing operator ( ?? ) in c
احدى الإضافات الجديدة في لغة C# الإصدار السادس وما بعدها
تستخدم كشرط بين جهتين (الجهة اليمنى – الجهة اليسرى) حيث يتم اسناد الجهة اليمنى كناتج في حال كون الجهة اليسرى يساوي null وإلا سيتم اسناد الجهة اليسرى كناتج. بامكانك استخدام (??) في الــ Value Types and Reference Type. صيغتها كالتالي: Right hand Left hand
(output = (if exp is null ) ?? ( assign value to output
مثال/ لو أردت طباعة طول سلسلة نصية يجب التأكد من النص أولاً: قبل استخدام (??) PHP كود : string str = null;بعد استخدام (??) سيكون الحل بالشكل التالي:
PHP كود : string str = null;ملاحظة/ قيمة الــ Right hand يجب أن تكون بنفس نوع بيانات التعبير الذي يتم تطبيق الشرط عليه في الــ Left hand. بمعنى لو كتبت الحل أعلاه بالشكل التالي: PHP كود : string str = null;مثال آخر/ قبل وبعد استخدام (??): PHP كود : var str = "Hello";بعد
PHP كود : var str = "Hello";مثال/ Value Type: يجب أن تستخدم Nullable variables أو تعمل casting
PHP كود : int? x = 10;استخدام الــــ casting
PHP كود : int x = 10;كما لاحظتم أن استخدام الاشياء البسيطة والصغيرة لها أهمية كبيرة في أداء البرنامج من ناحية السرعة والمرونة.
واستخدمنا ايضا عملية اخرى شرحناها سابقا وهي ((?) Null-conditional operator) وضربنا عصفورين بحجر واحد.
والحمد لله رب العالمين
تحياتي لكم ولا تنسونا و والديَّ من صالح دعواتكم
|