68 lines
1.8 KiB
Markdown
68 lines
1.8 KiB
Markdown
|
---
|
||
|
title: Null-coalescing Operator
|
||
|
localeTitle: Null-coalescing Operator
|
||
|
---
|
||
|
# Null-coalescing Operator
|
||
|
|
||
|
يتم استخدام عامل التوحيد للفرز في C # للمساعدة في تعيين متغير واحد إلى آخر وتحديد قيمة بديلة إذا كانت قيمة المصدر `null` . عامل التوليف في C # هو `??` .
|
||
|
|
||
|
## مثال 1
|
||
|
|
||
|
بما أن `name` `null` ، فسيتم تعيين `name` `clientName` "John Doe".
|
||
|
|
||
|
`string name = null;
|
||
|
|
||
|
string clientName = name ?? "John Doe";
|
||
|
|
||
|
Console.WriteLine(clientName);
|
||
|
`
|
||
|
|
||
|
`> John Doe
|
||
|
`
|
||
|
|
||
|
## مثال 2
|
||
|
|
||
|
نظرًا لأن `name` ليس `null` ، فسيتم تعيين `name` `clientName` ، وهو "Jane Smith".
|
||
|
|
||
|
`string name = "Jane Smith";
|
||
|
|
||
|
string clientName = name ?? "John Doe";
|
||
|
|
||
|
Console.WriteLine(clientName);
|
||
|
`
|
||
|
|
||
|
`> Jane Smith
|
||
|
`
|
||
|
|
||
|
## بديل إلى if… else Statement
|
||
|
|
||
|
يمكنك استخدام عبارة `if...else` لاختبار وجود `null` وتعيين قيمة مختلفة.
|
||
|
|
||
|
`string clientName;
|
||
|
|
||
|
if (name != null)
|
||
|
clientName = name;
|
||
|
else
|
||
|
clientName = "John Doe";
|
||
|
`
|
||
|
|
||
|
ومع ذلك ، يمكن تبسيط ذلك إلى حد كبير باستخدام مشغل التوليف الفارغ.
|
||
|
|
||
|
`string clientName = name ?? "John Doe";
|
||
|
`
|
||
|
|
||
|
## بديل لمشغل (شرطي) شرطي
|
||
|
|
||
|
من الممكن أيضًا استخدام المشغل الشرطي لاختبار وجود قيمة `null` وتعيين قيمة مختلفة.
|
||
|
|
||
|
`string clientName = name != null ? name : "John Doe";
|
||
|
`
|
||
|
|
||
|
مرة أخرى ، يمكن تبسيط ذلك باستخدام مشغل التوليف الفارغ.
|
||
|
|
||
|
`string clientName = name ?? "John Doe";
|
||
|
`
|
||
|
|
||
|
## المراجع
|
||
|
|
||
|
* [؟؟ المشغل (C # مرجع)](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/null-conditional-operator)
|