透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
C# レコードは、不変データモデルの作成を容易にし、定型コードを削減することでコーディング体験を向上させるために導入された強力な機能です。 このチュートリアルは、初心者向けにC#のレコードの概念を簡単に理解できるように、構文、使用方法、および利点について説明することを目的としています。
データ転送オブジェクトや構成、または単にデータを効率的に表現する方法を必要としている場合、C#のレコードは簡潔で開発者に優しいアプローチを提供します。 この記事の後半では、IronPDFについても議論します。
C#のレコードは、不変のデータモデルを定義するための簡素化された文法を提供する参照型です。 伝統的なクラス定義とは異なり、レコードは参照の等価性ではなく、値に基づく等価性を強調します。 これは、2つのレコードインスタンスが同一のオブジェクト位置を指しているだけではなく、そのプロパティ値が同じである場合に等しいと見なされることを意味します。
C#には2つの主要なレコードのタイプがあります:
レコードを宣言するのは簡単です。 record キーワードに続けて型(クラスまたは構造体)とレコードの名前を指定することでレコードを定義できます。 例えば、シンプルな人物レコードは次のように宣言できます:
public record class Person(string FirstName, string LastName);
public record class Person(string FirstName, string LastName);
'INSTANT VB TODO TASK: C# 'records' are not converted by Instant VB:
'public record class Person(string FirstName, string LastName)
この宣言には、FirstNameとLastNameの位置パラメーターが含まれており、これにより背後でこれらのプロパティのパブリックプロパティおよびプライマリコンストラクターが生成されます。
レコードは不変であるように設計されています。つまり、一度レコードインスタンスが作成されると、そのプロパティ値は変更できません。 この不変性は、特に並行操作を扱う際に、予測可能でスレッドセーフなアプリケーションを作成する上で重要です。
不変のレコード構造体は、record struct 構文を使用して、レコードクラスと同様に宣言されます。 それは、レコードの不変性と値ベースの比較を、値型のパフォーマンス利点と組み合わせます。
public readonly record struct ImmutablePerson(string FirstName, string LastName);
public readonly record struct ImmutablePerson(string FirstName, string LastName);
'INSTANT VB TODO TASK: C# 'records' are not converted by Instant VB:
'public readonly record struct ImmutablePerson(string FirstName, string LastName)
レコードは、データ中心の型の作成と使用を簡素化します。継承をサポートし、非破壊的なミューテーションを可能にし、デバッグを容易にするための組み込みフォーマットを提供します。 これらの機能を例を通じて探ってみましょう。
次の例では、人物レコードのインスタンスを2つ作成することを考えてみましょう。
var person1 = new Person("Iron", "Software");
var person2 = new Person("Iron", "Software");
Console.WriteLine(person1 == person2); // Output: True
var person1 = new Person("Iron", "Software");
var person2 = new Person("Iron", "Software");
Console.WriteLine(person1 == person2); // Output: True
Dim person1 = New Person("Iron", "Software")
Dim person2 = New Person("Iron", "Software")
Console.WriteLine(person1 = person2) ' Output: True
person1とperson2は2つの異なるインスタンスですが、そのプロパティ値に基づいて等しいと見なされるため、値に基づく等価性が示されています。 これは、参照型のデフォルトの動作から大きく離れたものであり、参照の等価性に焦点を当てています。
設計上、レコードのプロパティは不変です。 これは、レコードインスタンスが作成された後にそのプロパティ値を変更できないことを意味します。
// This will result in a compilation error
// person1.FirstName = "Jane";
// This will result in a compilation error
// person1.FirstName = "Jane";
' This will result in a compilation error
' person1.FirstName = "Jane";
レコードは継承をサポートしており、データモデルの階層を作成することができます。 以下の方法でベースレコードを拡張できます:
public record Employee(string FirstName, string LastName, string Department) : Person(FirstName, LastName);
public record Employee(string FirstName, string LastName, string Department) : Person(FirstName, LastName);
'INSTANT VB TODO TASK: C# 'records' are not converted by Instant VB:
'public record Employee(string FirstName, string LastName, string Department) : Person(FirstName, LastName)
このEmployeeレコードはPersonを拡張し、追加のDepartmentプロパティを追加します。
レコードは、変更された一部のプロパティを持つ既存のレコードインスタンスから新しいレコードインスタンスを作成するための組み込みメソッドを提供します。これは非破壊変異として知られています。
var updatedPerson = person1 with { FirstName = "Jane" };
var updatedPerson = person1 with { FirstName = "Jane" };
'INSTANT VB TODO TASK: C# 'with expressions' are not converted by Instant VB:
'var updatedPerson = person1 with { FirstName = "Jane" }
レコードには、デバッグやログ記録を容易にするための組み込みフォーマット機能が備わっており、プロパティの文字列表現を自動的に提供します。
Console.WriteLine(person1);
Console.WriteLine(person1);
Console.WriteLine(person1)
IronPDF 概要 は、.NET 開発者向けの PDF ライブラリで、C# アプリケーション内で PDF ドキュメントを生成、編集、操作するために設計されています。 IronPDFは、HTMLコンテンツからPDF、CSS、画像、およびJavaScriptのレンダリングをサポートしています。
その中核となる機能は、WebコンテンツからPDF文書を作成することであり、HTML文字列、URL、ASPX WebフォームをPDFファイルに変換する合理的なアプローチを提供します。 IronPDFは、フォームアプリケーション、サーバーアプリケーション、およびWebアプリケーションなど、さまざまなアプリケーションタイプで効率的に動作します。
IronPDFのインストールは簡単であり、Visual StudioのNuGetパッケージマネージャーを介して実行できます。 以下の手順に従ってください:
Visual Studioで、ソリューション エクスプローラーに移動し、[参照]を右クリックして、[NuGet パッケージの管理]を選択します。
NuGet パッケージ マネージャーで、「参照」を選択し、「IronPdf」を検索します。
IronPDFパッケージを見つけてインストールをクリックします。
または、以下のコマンドを使用してパッケージ マネージャー コンソールでインストールすることができます:
Install-Package IronPdf
Install-Package IronPdf
実用的な例を考えてみましょう。C#のレコードを使用してデータを保持し、それを使用してIronPDFでPDF文書を生成するケースです:
public record Person(string FirstName, string LastName);
class Program
{
static void Main(string [] args)
{
var person = new Person("Iron", "Developer");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf($"<h1>Person Record</h1><p>Name: {person.FirstName} {person.LastName}</p>");
pdf.SaveAs("PersonRecord.pdf");
}
}
public record Person(string FirstName, string LastName);
class Program
{
static void Main(string [] args)
{
var person = new Person("Iron", "Developer");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf($"<h1>Person Record</h1><p>Name: {person.FirstName} {person.LastName}</p>");
pdf.SaveAs("PersonRecord.pdf");
}
}
'INSTANT VB TODO TASK: C# 'records' are not converted by Instant VB:
'public record Person(string FirstName, string LastName)
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim person As New Person("Iron", "Developer")
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf($"<h1>Person Record</h1><p>Name: {person.FirstName} {person.LastName}</p>")
pdf.SaveAs("PersonRecord.pdf")
End Sub
End Class
この例では、簡単なPersonレコードを作成し、その後、IronPDFを使用してその人物の名前を表示するPDFドキュメントを生成します。 それは、C#レコードが.NETアプリケーションでのPDF生成にどれほどシームレスに統合できるかを示しています。
IronPDFは、個人および商業オプションを含むさまざまなニーズに合わせたライセンスを提供する商用製品です。 各購入にはライセンスの期限が永久に続くことと、30日間の返金保証が含まれています。 IronPDF のライセンスオプションを探る前にライセンスを購入してください。
C# レコードは、.NET アプリケーションにおけるデータモデリングの簡素化に向けた重要な一歩を表しています。 レコードを理解し活用することで、開発者はより信頼性が高く、保守性があり、読みやすいコードベースを作成できます。
大規模なアプリケーションやシンプルなデータ構造に取り組む際、レコードが提供する機能(不変性から値ベースの等価性まで)は、C#ツールキットにおいて欠かせないツールとなります。
IronPDF は購入を決定する前に、IronPDF Free Trial を使用してその機能をテストする機会を提供します。 ソフトウェアがあなたのニーズを満たしていると判断した場合、$749からライセンスを購入することができます。