60 lines
2.1 KiB
Markdown
60 lines
2.1 KiB
Markdown
---
|
||
title: Null-conditional Operator
|
||
localeTitle: مشغل شرطي لاغية
|
||
---
|
||
# مشغل شرطي لاغية
|
||
|
||
تسمح عوامل الشرطية خالية التحقق خالية مع الحد الأدنى من التعليمات البرمجية. على سبيل المثال ، إذا كان لديك متغير الموظف من نوع الموظف مع خاصية من نوع العنوان ، قد تفعل فحص فارغ كما يلي:
|
||
|
||
```csharp
|
||
Address address = null;
|
||
if (employee != null)
|
||
{
|
||
address = employee.Address;
|
||
}
|
||
```
|
||
|
||
يمكنك استخدام عامل تشغيل شرطي قياسي لجعل ذلك الاختيار أكثر إيجازًا:
|
||
|
||
```csharp
|
||
Address address = employee != null ? employee.Address : null;
|
||
```
|
||
|
||
ومع ذلك ، في C # 6.0 دخلت المشغلين خالية الشرطي ، لذلك الآن يمكن للخط أعلاه ببساطة يتم تمثيله على النحو التالي:
|
||
|
||
```csharp
|
||
Address address = student?.Address;
|
||
```
|
||
|
||
إذا كان الموظف فارغًا ، فسيتم تعيين العنوان ببساطة ، ولن يحدث أي NullReferenceExeception. هذا يصبح أكثر فائدة مع الرسوم البيانية كائن أعمق ، كما يمكنك التعامل مع سلسلة من وصول الأعضاء المشروط.
|
||
|
||
فمثلا:
|
||
|
||
```csharp
|
||
string city = student?.Address?.City;
|
||
```
|
||
|
||
المشغلين الشرطيين هم دوائر قصيرة ، وذلك بمجرد التحقق من وصول العضو الشرطي إرجاع لا شيء ، والباقي لا يحدث.
|
||
|
||
# عامل التوليف
|
||
|
||
وهناك خيار آخر مفيد لفحص الأصفار وهو مشغل التوليف الفارغ. تقوم بإرجاع المعامل الأيسر إذا كان المعامل ليس باطلاً ؛ وإلا فإنها ترجع المعامل الأيمن.
|
||
|
||
فمثلا:
|
||
|
||
```csharp
|
||
public string GetStringValue()
|
||
{
|
||
return null;
|
||
}
|
||
|
||
// Display the value of s if s is NOT null. If x IS null, display the string "It was null."
|
||
|
||
string x = GetStringValue();
|
||
|
||
Console.WriteLine(x ?? "It was null.");
|
||
|
||
// Result:
|
||
|
||
"It was null."
|
||
``` |