IRONSOFTWAREHOME
開発者向けアップデート

C# Record(開発者向けの動作方法)

Jacob Mellor、Ironチームの最高技術責任者(CTO)
Jacob Mellor
Updated: 2025年6月22日

C# レコード は、不変データモデルの作成を容易にし、定型コードを削減することでコーディング体験を向上させるために導入された強力な機能です。 このチュートリアルは、C# のレコードの概念を初心者に簡単に理解させることを目的としており、その構文、使用法、および利点を案内します。

データ転送オブジェクト、設定、または単にデータを効率的に表現する必要がある場合でも、C# レコードは簡潔で開発者に優しいアプローチを提供します。 この記事の後半で IronPDF についても説明します。

C# レコードとは何ですか?

C# におけるレコードは、不変データモデルを定義するための簡略化された構文を提供する参照型です。 従来のクラス定義とは異なり、レコードは参照の等価性よりも値に基づく等価性を重視します。 つまり、メモリ上の同じオブジェクト場所を参照するだけではなく、プロパティ値が同じであれば2つのレコードインスタンスは同等と見なされます。

レコードの種類: クラスと構造体

C# には2つの主要なレコードの種類があります:

-**レコード クラス:**参照型であるデフォルトのレコード タイプ。 -**レコード構造体:**値型を必要とするシナリオ向けに導入されたもので、デフォルトでは不変であり、レコード クラスと同様の値ベースの比較を提供します。

レコード宣言

レコードを宣言するのは簡単です。 record キーワードの後に型(クラスまたは構造体)とレコードの名前を続けてレコードを定義できます。 たとえば、単純な人物レコードは次のように宣言できます:

public record class Person(string FirstName, string LastName);

この宣言には、FirstNameLastName の位置パラメーターが含まれており、これにより、背後ではこれらのプロパティのための公開プロパティと主コンストラクタが生成されます。

レコードの不変性

レコードは不変になるように設計されており、レコードインスタンスが作成されると、そのプロパティ値は変更できません。 この不変性は、予測可能でスレッドセーフなアプリケーションを作成するのに重要であり、特に同時操作を扱う際に有用です。

不変レコード構造体

不変のレコード構造体は、record struct 構文を使用してレコードクラスと同様に宣言されます。 それはレコードの不変性と値ベースの比較を値型のパフォーマンス上の利点と組み合わせます:

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

person1person2 が2つの別個のインスタンスであるにもかかわらず、プロパティの値に基づいて同等と見なされ、値ベースの等価性を示しています。 これは、参照平等に焦点を当てた参照型のデフォルトの振る舞いからの重要な逸脱です。

不変プロパティ

設計上、レコードのプロパティは不変です。 つまり、レコードインスタンスが作成された後、そのプロパティ値を変更することはできません。

// This will result in a compilation error
// person1.FirstName = "Jane";

レコードの継承

レコードは継承をサポートしており、データモデルの階層を作成できます。 基本レコードを次のように拡張できます:

public record Employee(string FirstName, string LastName, string Department) : Person(FirstName, LastName);

この Employee レコードは Person を拡張し、追加の Department プロパティを追加しています。

高度なレコード機能

破壊を伴わない変更

レコードは、既存のレコードインスタンスからいくつかのプロパティを変更した新しいレコードインスタンスを作成するための組み込みの方法を提供します。これは破壊を伴わない変更として知られています。

var updatedPerson = person1 with { FirstName = "Jane" };

組み込み書式設定

レコードには組み込みのフォーマットがあり、デバッグやログ作成を簡素化するために、プロパティの文字列表現を自動的に提供します。

Console.WriteLine(person1);

C# レコードを使用する利点

-**簡素化された構文:**レコードにより定型コードの必要性が減り、モデルがより簡潔で読みやすくなります。 -**不変データ モデル:**レコードの不変の性質は、スレッドセーフなアプリケーションの作成に役立ちます。 -**値ベースの等価性:**レコードは参照の等価性ではなく値ベースの等価性を使用します。これは、データ中心の型に最適です。 -**継承のサポート:**レコードは他のレコードから継承できるため、コードの再利用と階層型データ モデルが可能になります。

IronPDF入門:C# PDFライブラリ

C# レコード(開発者向けの動作説明): 図 1

IronPDF の概要 は .NET 開発者向けの PDF ライブラリであり、C# アプリケーション内で PDF ドキュメントを生成、編集、操作するために設計されています。 IronPDFは、HTMLコンテンツから、CSS、画像、およびJavaScriptからPDFをレンダリングすることをサポートしています。

その主要な機能は、WebコンテンツからPDFドキュメントを作成することで、HTML文字列、URL、およびASPX Web フォームをPDFファイルに変換するための合理化されたアプローチを提供します。 IronPDFは、フォームアプリケーション、サーバーアプリケーション、Webアプリケーションを含むさまざまなアプリケーションタイプで効率的に動作します。

IronPDF ライブラリのインストール方法

IronPDFのインストールは簡単で、Visual Studio の NuGet パッケージマネージャーを通じて実行できます。 次の手順に従います。

  1. Visual Studioで、ソリューションエクスプローラーに移動し、参照を右クリックして"NuGet パッケージの管理"を選択します。
  2. NuGetパッケージマネージャーで、[参照]を選択し"IronPDF"を検索してください。
  3. IronPDFパッケージを見つけてインストールをクリックします。

C# レコード(開発者向けの動作説明): 図 2

別の方法として、パッケージ マネージャー コンソールで次のコマンドを使ってインストールすることもできます:

PM > Install-Package IronPdf

例:IronPDFでC# レコードを使用

C# レコードを使用してデータを保持し、それからIronPDFを使用してPDFドキュメントを生成する実用的な例を考えてみましょう:

public record Person(string FirstName, string LastName);

class Program
{
    static void Main(string[] args)
    {
        // Create an instance of the Person record.
        var person = new Person("Iron", "Developer");

        // Initialize a new renderer object for generating PDF files using Chrome's rendering engine.
        var renderer = new IronPdf.Rendering.ChromePdfRenderer();

        // Render an HTML string as a PDF document.
        var pdf = renderer.RenderHtmlAsPdf($"<h1>Person Record</h1><p>Name: {person.FirstName} {person.LastName}</p>");

        // Save the PDF to the specified location.
        pdf.SaveAs("PersonRecord.pdf");
    }
}

この例では、シンプルな Person レコードを作成し、IronPDF を使用してその人の名前を表示するPDFドキュメントを生成します。 これは、C# レコードが .NET アプリケーションでの PDF 生成と如何にシームレスに統合できるかを示します。

C# レコード(開発者向けの動作説明): 図 3

IronPDFライセンス

IronPDFは、さまざまなニーズに合わせた個人および商用オプションを含むさまざまなライセンスを提供する商用製品です。 各購入にはライフタイムライセンスと30日間の返金保証が付いています。 IronPDFのライセンスオプションを探索し、ライセンスの購入を検討してください。

結論

C#レコードは、.NETアプリケーションのデータモデリングを簡素化する上で重要な一歩を表しています。 レコードを理解し活用することで、開発者はより信頼性が高く、保守可能で可読性の高いコードベースを作成することができます。

大規模なアプリケーションや単純なデータ構造のいずれであっても、不変性から値ベースの等価性まで、提供される機能はC#ツールキットにおいて欠かせないツールとなります。

IronPDFは、IronPDF Free Trial を使用して購入を決定する前にその機能をテストする機会を提供します。 ソフトウェアがニーズに合う場合は、$999からライセンスを購入できます。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

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

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブラウズを選択し、"IronPDF"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

またはここからWindowsインストーラーをダウンロードする。

  1. IronPDFを~/Libsなどの場所に解凍し、ソリューションディレクトリ内に配置する
  2. Visual Studioソリューションエクスプローラーで参照を右クリックし、"IronPDF.dll"をブラウズして選択

ライセンスは$999から