ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
C#を使用する場合、次のような作業が必要になることがよくあります。ヌル値特に参照型について。C# の Nullable 型は、未定義の値や存在しない値を値型で表現する方法を提供します。このガイドでは、C#のnullable型の要点、実用的な使用方法、さまざまなシナリオでの動作について説明します。 以下の日本語に翻訳して下さい:
We’ll explore the capabilities of IronOCR for .NET and how it enhances text recognition in scanned documents. This product by Iron Software provides advanced OCR (Optical Character Recognition) technology, allowing developers to integrate robust text extraction features into their applications.
IronOCRの.NET向けの機能と、それがスキャンされたドキュメントのテキスト認識をどのように強化するかを探求します。このIron Softwareによる製品は、高度なOCR (Optical Character Recognition)技術を提供し、開発者がアプリケーションに強力なテキスト抽出機能を統合することを可能にします。IronPDF記事の後半でも
デフォルトでは、C#の値型は(例:int、bool、DateTime)にNULL値を割り当てることはできません。 この制限に対処するため、C#はnullable値型を導入し、値型にnullを代入できるようにしました。nullable型は、有効な値がないことを表す必要がある場合に特に便利です。
C#でnull可能な型を宣言するには、以下の構文を使用します:
// Nullable type variable value
int? nullableInt = null;
// Nullable type variable value
int? nullableInt = null;
' Nullable type variable value
Dim nullableInt? As Integer = Nothing
ここでは、int? はNullableの略語です。
null可能な型の変数に値があるかどうかを確認するには、HasValueプロパティを使用するか、変数を直接nullと比較します。 例えば:
if (nullableInt.HasValue)
{
Console.WriteLine("Value: " + nullableInt.Value);
}
else
{
Console.WriteLine("No value assigned.");
}
if (nullableInt.HasValue)
{
Console.WriteLine("Value: " + nullableInt.Value);
}
else
{
Console.WriteLine("No value assigned.");
}
If nullableInt.HasValue Then
Console.WriteLine("Value: " & nullableInt.Value)
Else
Console.WriteLine("No value assigned.")
End If
あるいは、NULL合体演算子(もちろんです。翻訳したいコンテンツを提供してください。)nullable型がnullの場合、デフォルト値を提供します:
int result = nullableInt ?? 0;
Console.WriteLine("Result: " + result);
int result = nullableInt ?? 0;
Console.WriteLine("Result: " + result);
Dim result As Integer = If(nullableInt, 0)
Console.WriteLine("Result: " & result)
nullableInt が NULL の場合、結果にはデフォルト値の 0 が割り当てられます。
C#では、値の型は(int、bool、double など)参照タイプとの違い(文字列、オブジェクトのような). Nullable値型は、値型がNULLを表すことを可能にし、Nullable参照型は、参照型がデフォルトで非NULLであることを可能にするため、NULL参照例外のリスクを低減します。
NULL可能な値型は、値型がNULL値を取ることを可能にします。 NULL可能な値型を宣言するには、クエスチョンマーク ? をデータ型に置き換えてください:
double? nullableDouble = null;
double? nullableDouble = null;
Dim nullableDouble? As Double = Nothing
この例では、nullableDouble は double 値または null 値を保持します。
ヌル参照型はC# 8.0で導入されました。プロジェクト・レベルで、またはコード・ファイルの先頭に#nullable enableディレクティブを追加して、NULL可能な参照型を有効にします。NULL可能な参照型を有効にすると、参照型がNULL可能であることを?
#nullable enable
string? nullableString = null;
#nullable enable
string? nullableString = null;
'INSTANT VB TODO TASK: There is no equivalent to #nullable in VB:
'#nullable enable
'INSTANT VB WARNING: Nullable reference types have no equivalent in VB:
'ORIGINAL LINE: string? nullableString = null;
Dim nullableString As String = Nothing
ここでは、nullableStringはnullであることが許可されています。 を付けずにNULLでない参照型を宣言すると、NULL代入の可能性を検出した場合にコンパイラが警告を出します。
プロジェクトでグローバルにNULL参照型を有効にするには、.csprojファイルに以下の行を追加します:
<Nullable>enable</Nullable>
<Nullable>enable</Nullable>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<Nullable> enable</Nullable>
有効化すると、コンパイラーはデフォルトで参照型をnull不可として扱います。 この機能は、実行時ではなくコンパイル時にヌル参照の問題をキャッチするのに特に便利です。
NULL可能な型についての理解を深めるために、いくつかの実用的な例を探ってみましょう。
この例では、intでnull可能な型を使用します:
class Program
{
static void Main(string[] args)
{
int? nullableInt = null;
int b = nullableInt ?? 10; // Use null coalescing operator
Console.WriteLine("b: " + b);
if (nullableInt.HasValue)
{
Console.WriteLine("nullableInt has value: " + nullableInt.Value);
}
else
{
Console.WriteLine("nullableInt is null");
}
}
}
class Program
{
static void Main(string[] args)
{
int? nullableInt = null;
int b = nullableInt ?? 10; // Use null coalescing operator
Console.WriteLine("b: " + b);
if (nullableInt.HasValue)
{
Console.WriteLine("nullableInt has value: " + nullableInt.Value);
}
else
{
Console.WriteLine("nullableInt is null");
}
}
}
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim nullableInt? As Integer = Nothing
Dim b As Integer = If(nullableInt, 10) ' Use null coalescing operator
Console.WriteLine("b: " & b)
If nullableInt.HasValue Then
Console.WriteLine("nullableInt has value: " & nullableInt.Value)
Else
Console.WriteLine("nullableInt is null")
End If
End Sub
End Class
ここで、nullableInt は int の nullable 型変数です。 nullableIntがnullの場合、bはnull合体演算子により値10を得る。 それ以外の場合、bはnullableIntの値を取ります。
では、null可能な参照型がどのように機能するか見てみましょう:
#nullable enable
class Program
{
static void Main()
{
string? nullableString = null;
string nonNullableString = "Hello";
Console.WriteLine(nullableString?.Length ?? 0); // Use null coalescing operator
Console.WriteLine(nonNullableString.Length);
}
}
#nullable enable
class Program
{
static void Main()
{
string? nullableString = null;
string nonNullableString = "Hello";
Console.WriteLine(nullableString?.Length ?? 0); // Use null coalescing operator
Console.WriteLine(nonNullableString.Length);
}
}
'INSTANT VB TODO TASK: There is no equivalent to #nullable in VB:
'#nullable enable
Friend Class Program
Shared Sub Main()
'INSTANT VB WARNING: Nullable reference types have no equivalent in VB:
'ORIGINAL LINE: string? nullableString = null;
Dim nullableString As String = Nothing
Dim nonNullableString As String = "Hello"
Console.WriteLine(If(nullableString?.Length, 0)) ' Use null coalescing operator
Console.WriteLine(nonNullableString.Length)
End Sub
End Class
上記のコードでは、nullableStringはnullである可能性があり、null合体演算子により、nullの場合、文字列の長さはデフォルトで0になります。
C#では、入れ子になったnull可能な型を宣言することができます。例えば
int?? nestedNullableInt = null;
int?? nestedNullableInt = null;
If(Integer, nestedNullableInt) = Nothing
入れ子になったnullable型は冗長に見えるかもしれませんが、C#では構文上有効です。 しかし、実際には、ネストされたnullable型は追加機能を提供せず、ほとんど使用されません。
NULL合体演算子(もちろんです。翻訳したいコンテンツを提供してください。)は、NULL可能な型がNULLである場合にデフォルト値を提供するために、NULL可能な型と共に頻繁に使用されます。 この演算子は、明示的なif-elseチェックを避けることで、コードを簡素化します。
int? nullableValue = null;
int defaultValue = nullableValue ?? -1;
int? nullableValue = null;
int defaultValue = nullableValue ?? -1;
Dim nullableValue? As Integer = Nothing
Dim defaultValue As Integer = If(nullableValue, -1)
この例では、nullableValue が null の場合、defaultValue に -1 が代入されます。それ以外の場合、defaultValueはnullableValueの値を取ります。
C#は、NULL参照型を有効にすると、コンパイル時にNULL代入の潜在的な問題を検出した場合に警告とエラーを出力します。 このようなコンパイル時のエラーは、問題を早期に発見し、コードをより堅牢にするのに役立ちます。
以下の例を考えてみてください:
string? nullableString = null;
string nonNullableString = nullableString; // Compiler warning
string? nullableString = null;
string nonNullableString = nullableString; // Compiler warning
'INSTANT VB WARNING: Nullable reference types have no equivalent in VB:
'ORIGINAL LINE: string? nullableString = null;
Dim nullableString As String = Nothing
Dim nonNullableString As String = nullableString ' Compiler warning
この場合、nullableStringをnonNullableStringに代入すると、nullableStringがnullである可能性があり、nullableでない型に代入すると実行時例外が発生する可能性があるため、コンパイラの警告が表示されます。
IronPDFは、開発者が.NETアプリケーションから直接PDFファイルを作成、編集、操作できるように設計されたC# PDFライブラリです。 Here is the translation of the provided text into Japanese:
あなたはHTMLをPDFに変換するこのような開発者向けツールの翻訳は、.NET、Java、Python、またはNode.jを使用するプロジェクトに携わるソフトウェア開発者が対象です。
Null可能な型は、不完全な財務データを持つ会計士のためにPDFを生成する場合など、動的なレポート生成シナリオで特に有用です。 NULL可能な型を使用することで、オプションのフィールドを管理し、例外を回避し、デフォルト値を提供することができます。
using IronPdf;
class Program
{
static void Main(string[] args)
{
int? optionalIncome = null; // Nullable type
string? clientName = "Iron Dev"; // Nullable reference type
var renderer = new ChromePdfRenderer();
string htmlContent = $@"
<h1>Financial Report</h1>
<p>Client Name: {clientName ?? "Unknown"}</p>
<p>Income: {optionalIncome?.ToString() ?? "Data not available"}</p>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("FinancialReport.pdf");
Console.WriteLine("PDF Generated Successfully.");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
int? optionalIncome = null; // Nullable type
string? clientName = "Iron Dev"; // Nullable reference type
var renderer = new ChromePdfRenderer();
string htmlContent = $@"
<h1>Financial Report</h1>
<p>Client Name: {clientName ?? "Unknown"}</p>
<p>Income: {optionalIncome?.ToString() ?? "Data not available"}</p>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("FinancialReport.pdf");
Console.WriteLine("PDF Generated Successfully.");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim optionalIncome? As Integer = Nothing ' Nullable type
'INSTANT VB WARNING: Nullable reference types have no equivalent in VB:
'ORIGINAL LINE: string? clientName = "Iron Dev";
Dim clientName As String = "Iron Dev" ' Nullable reference type
Dim renderer = New ChromePdfRenderer()
Dim htmlContent As String = $"
<h1>Financial Report</h1>
<p>Client Name: {If(clientName, "Unknown")}</p>ignoreignore<p>Income: {If(optionalIncome?.ToString(), "Data not available")}</p>"
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("FinancialReport.pdf")
Console.WriteLine("PDF Generated Successfully.")
End Sub
End Class
このコードでは(翻訳者 と文字列?)は、欠損データを安全に処理するために使用されます。 NULL合体演算子(もちろんです。翻訳したいコンテンツを提供してください。)データが欠落している場合は、PDF内でデフォルト値が使用されるようにします。
C#のNullable型は、値型と参照型の両方でNULL値を処理するための強力なツールです。Nullable型を使用することで、Null参照例外を回避し、コードの堅牢性を向上させることができます。 コンパイル時のエラー・チェックの恩恵を受けるために、新しいプロジェクトではNULL参照型を有効にし、NULL合体演算子を使用することを忘れないでください。(もちろんです。翻訳したいコンテンツを提供してください。)null可能な型を扱うときにコードを簡素化するために。
IronPDFは無料試用このような翻訳をすることで、契約する前にその機能を調べることができます。 初期費用は一切かかりませんので、まずはお試しいただき、開発プロセスへの適合性をご確認ください。 ライセンスは749ドルからです。
9つの .NET API製品 オフィス文書用