
C# Null Coalescing (開発者向けの仕組み)
ヌル合体演算子??は、右オペランドを評価し、左オペランドがヌル参照である場合、その結果を返します。 そうでない場合には、左辺オペランドの値を返します。 左辺オペランドが非ヌル可能な値タイプに評価された場合、ヌル合体演算子(??)は右辺オペランドを評価しません。 代入演算子??=はヌル合体代入であり、左オペランドがヌル可能型の値と評価される場合にのみ右オペランドの値を左オペランドに代入します。 左側のオペランドが非ヌル値に評価される場合、ヌル合体代入演算子(??=)は右辺オペランドを評価しません。 ヌル合体演算子は、三項演算子に似ています。
C#では、ヌル合体演算子(??)は二項演算子です。 二つのオペランドに作用する演算子は、二項演算子と呼ばれます。 ヌル合体演算子を使用するとき、二つのオペランドが必要とされ、各オペランドを評価して結果を決定します。 ここで、C#におけるヌル合体およびヌル条件演算子の使用法を見ていきます。
C# Null合体値タイプの使い方
- 新しいC#プロジェクトを作成します。
- 適切なバージョンがインストールされていることを確認してください。
- ヌル合体演算子**??**を使用します。
- 要件に基づいて、値またはオブジェクト参照タイプを確認します。
- コードを実行します。
Null Coalescing in C#
C#のヌル値は、ヌル合体演算子(??)によってデフォルトで管理されます。この演算子は、ヌル可能な型やヌルになる可能性のある式を扱う際に使用される合体の概念を使って、これらの値を管理します。
構文
ヌル合体演算子の構文は次のとおりです:
result = expression1 ?? expression2;result = If(expression1, expression2)-**式1:**この式によって null 値が生成される可能性があります。 -**式2:**式1 が null の場合、これが使用されるデフォルト値または代替式になります。
- **result:**結合操作の結果を保持する変数。
ヌル合体演算子は、ヌルデータを効率的に処理し、コードを合理化するために使用されるデフォルト値を割り当てる簡潔な方法を提供します。
利点
-**簡潔性:**複雑な条件文や三項演算子を必要とせずに null チェックを処理します。 -コードの読みやすさ: null が返された場合にデフォルト値が提供されることを明示的に示すことで改善されました。
ヌル合体演算子を使用する前に、比較される式のタイプが一致しているか、または互換性があることを確認することが重要です。
便利ですが、演算子を過度に使用するとコードの理解が難しくなることがあります。 コードの明瞭さが向上する場合に適度に使用してください。
ヌル可能な型やデフォルト値を必要とするシナリオを扱う際に、C#のヌル合体演算子(??)はヌル値を管理するための効果的なツールであり、コードをより簡潔で理解しやすいものにするのに役立ちます。
ヌル合体演算子?? 次のタイプ関連の特性を持っています:
結果タイプ推論
ヌル合体演算子の結果タイプは、以下のコードに示すように、式1と2が同じタイプである場合、それらのオペランドと同じです。
int? Value = null;
int result = Value ?? 10;Dim Value? As Integer = Nothing
Dim result As Integer = If(Value, 10)タイプ互換性
結果タイプは、式1と2が異なるタイプを持っているが、一方が他方に暗黙的に変換できる場合、両方の式が暗黙的に変換できるタイプです。
double? value = null;
int result = (int)(value ?? 5.5);Imports System
Dim value? As Double = Nothing
Dim result As Integer = CInt(Math.Truncate(If(value, 5.5)))タイププロモーション
式1と2のタイプが暗黙的に変換できない場合、結果タイプはC#のタイププロモーションルールに従って選択されます。
int? value = null;
long result = value ?? 100L;Dim value? As Integer = Nothing
Dim result As Long = If(value, 100L)その結果、ヌル合体演算子(??)の結果を保持する変数や式のタイプは、関与するオペランドのタイプとC#のタイプ変換ルールによって決まります。 ヌル合体演算子を使用しながらタイプと値を正しく処理するために、互換性と可能なタイプ変換を考慮することが重要です。
IronPDFでの合体
IronPDFをインストールする
IronPDFライブラリをインストールするには、次のコードをパッケージマネージャーに入力します:

あるいは、NuGetパッケージマネージャーでパッケージ"IronPDF"を検索して使用することもできます。 IronPDFに関連するすべてのNuGetパッケージのリストから必要なパッケージを選択してダウンロードできます。

Create PDF with Null Coalescing
A C# library called IronPDF is used to create and work with PDF documents. The library offers features for working with PDFs, such as formatting, text processing, and image management. "Null-coalescing" is not a method or feature that is exclusive to IronPDF; rather, it is a language feature rather than a library-specific operation.
例えば、IronPDFオブジェクトを操作しているときに、ヌルになる可能性のある値タイプやプロパティがヌルを返す場合に、ヌル合体演算子を使用してヌルの状況を処理したり、デフォルト値を提供したりできます。
IronPDFオブジェクトやNULLを返す可能性のあるnullable値型やプロパティを扱う際にNULLの状況を処理したりデフォルト値を提供したりするために、NULL結合演算子を使用できます。
次の例は、IronPDFでヌル合体演算子の使い方を示しています。
using IronPdf;
using IronPdf.Pages;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
int? x = null;
// Use the null-coalescing operator to provide a default value if x is null
var outputstr = $@"square of <b>{x}</b> is <b>{Math.Sqrt(x ?? 30)}</b>";
// Render the HTML string as a PDF using IronPDF
var pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr);
// Save the generated PDF to the file system
pdfcreate.SaveAs("demo.pdf");
// Wait for a key press to prevent the console from closing immediately
Console.ReadKey();
}
}
}Imports IronPdf
Imports IronPdf.Pages
Module Module1
Sub Main(args As String())
Dim x As Integer? = Nothing
' Use the null-coalescing operator to provide a default value if x is null
Dim outputstr = $"square of <b>{x}</b> is <b>{Math.Sqrt(If(x, 30))}</b>"
' Render the HTML string as a PDF using IronPDF
Dim pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr)
' Save the generated PDF to the file system
pdfcreate.SaveAs("demo.pdf")
' Wait for a key press to prevent the console from closing immediately
Console.ReadKey()
End Sub
End ModuleIronPDFにはNULL値条件演算子を管理する特別な機能やメソッドはありません。 nullptr合体演算子の使用はC#言語に基づいています。 IronPDFの機能と能力について詳しく知りたい場合は、IronPDFデモをご覧ください。
出力:

結論
この演算子は、開発者が値がヌルである可能性があるシナリオを処理するための明確な方法を提供することで、コードを簡略化します。 これにより、開発者はデフォルト値を指定したり、代わりのロジックを容易に実行することができます。 その適応性により、ヌルのテストを簡略化し、読みやすさを向上させ、コードをより効率的かつ効果的にします。 IronPDFは、永続ライセンス、アップグレードオプション、1年間のソフトウェアメンテナンス、30日間の返金保証を提供し、$999 Liteパッケージに含まれています。
IronPDFは、永続ライセンス、アップグレードオプション、1年のソフトウェアメンテナンス、さらに30日間の返金保証を提供しており、すべてが$999 Liteパッケージに含まれています。 ユーザーは、透かしの入ったトライアル期間中に、実際のアプリケーション環境で製品を評価するための30日間を得ます。 Iron Software製品について詳しく知るには、Iron Softwareのウェブサイトをご覧ください。 Iron Software製品の詳細については、Ironソフトウェアのウェブサイトをご覧ください。

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。
関連する記事


