フッターコンテンツにスキップ
.NETヘルプ

C# Types (開発者向けの仕組み)

任意のプログラミング言語において、データ型を理解することは重要です。C#も例外ではありません。 int 型や浮動小数点型など、各型は特定の種類の情報、実際のデータとも呼ばれる情報を保持します。

C#の基本

C#は強い型付けの言語です。 それでは、強い型付けの言語とは何を意味するのでしょうか? それは、すべての変数とオブジェクトに宣言されたデータ型が必要ということです。 そして、それはデータ型によって、その変数にどんなデータを格納できるかが決まるのです。

C# には2つの主要なデータ型があります: 値型と参照型です。これらは「ユーザー定義型」として聞いたことがあるかもしれません。

C#の値型

C# の値型はシンプルです。 値型の変数を宣言したとき、その変数に割り当てた値が実際に保存されているデータです。 もし1つの変数の値を変更しても、他の変数には影響を与えません。

C#で最も一般的な値型は次のとおりです:

  • 整数(int型として表現)
  • 浮動小数点数(float型およびdouble型として表現)
  • ブール値、これは真または偽です

まずint型について話しましょう。C#のint型は32ビットのデータ型で、-2,147,483,648から2,147,483,647までの整数を格納できます。以下が例です:

int myInteger = 15;
int myInteger = 15;
Dim myInteger As Integer = 15
$vbLabelText   $csharpLabel

次に浮動小数点型についてです。 C#には2つの浮動小数点型があります: floatdoubleです。

float型は32ビットの浮動小数点数で、最大7桁までの精度があります。 科学的な計算に最適です。 float型の変数は次のように宣言できます:

float myFloat = 12.34F;
float myFloat = 12.34F;
Dim myFloat As Single = 12.34F
$vbLabelText   $csharpLabel

double型は64ビットの浮動小数点型で、15-16桁までの精度があります。 それはfloat型よりも正確で、通常は金融や通貨計算に使用されます。 以下はdouble型変数の例です:

double myDouble = 12.3456789;
double myDouble = 12.3456789;
Dim myDouble As Double = 12.3456789
$vbLabelText   $csharpLabel

C#のプリデファインデータ型

さて、次に進みましょう。 C#はあなたのアプリケーションで使用できる"プリデファインデータ型"をいくつか提供しています。 これらは、あなた自身の"ユーザー定義型"を定義する際に使用できる基本的な構成要素です。

以下はその例のいくつかです:

  • byte: これは0から255までの8ビットの符号なし整数です。
  • char: これは16ビットのUnicode文字です。
  • decimal: その高精度のため、金融や通貨計算に理想的です。
  • bool: trueまたはfalseを格納し、論理演算に最適です。

これらの"プリデファインデータ型"はそれぞれ目的があり、"デフォルト値"もあるので、正しいものを選択することが重要です!

C#のデフォルト値

C#では、各データ型にデフォルト値があります。 値型の変数の場合、初期化しない場合は自動的にデフォルト値を取ります。

例えば、int型のデフォルト値は0で、浮動小数点の値型(floatまたはdouble)のデフォルト値は0.0です。

参照型のデフォルト値はnullであり、これはどのオブジェクトも参照していないことを示しています。

C#の型変換

時には、あるデータ型を別のデータ型に変換する必要があります。 これは型変換として知られ、C#は2種類の変換をサポートしています: 暗黙の変換と明示的な変換です。

暗黙の変換は、ある型の値を、より大きい値を持つことができる互換性のある型の変数に割り当てる時に自動的に起こります。 例えば、情報を失うことなく、int型をdouble型に割り当てることができます。

int myInt = 10;
double myDouble = myInt; // Implicit conversion
int myInt = 10;
double myDouble = myInt; // Implicit conversion
Dim myInt As Integer = 10
Dim myDouble As Double = myInt ' Implicit conversion
$vbLabelText   $csharpLabel

明示的な変換、またはキャストは、不互換な型の間、または大きい型から小さい型に変換しようとする時に必要です。 これは、変換する値の前にターゲット型を括弧で括り置くことによって行います。

double myDouble = 10.5; 
int myInt = (int)myDouble; // Explicit conversion, decimal part is lost
double myDouble = 10.5; 
int myInt = (int)myDouble; // Explicit conversion, decimal part is lost
Imports System

Dim myDouble As Double = 10.5
Dim myInt As Integer = CInt(Math.Truncate(myDouble)) ' Explicit conversion, decimal part is lost
$vbLabelText   $csharpLabel

C#の参照型

C#の参照型は値型とは少し異なります。実際のデータを保存する代わりに、参照型変数は値が保存されているアドレスを保存します。 別の言い方をすると、メモリ内の別の位置を参照しているのです。

したがって、参照型オブジェクトを変更すると、他の変数にも影響を与えます。 これは参照型変数が、指し示すメモリアドレスに保存されている実際のデータに加えられた変更を自動的に反映するためです。

それは少し複雑に聞こえるかもしれませんが、例で説明します。 クラスPersonがあるとします:

class Person
{
    public string Name { get; set; }
}
class Person
{
    public string Name { get; set; }
}
Friend Class Person
	Public Property Name() As String
End Class
$vbLabelText   $csharpLabel

そしてこのクラスの2つの"参照型"変数を作成します。

Person person1 = new Person { Name = "Alice" };
Person person2 = person1;
Person person1 = new Person { Name = "Alice" };
Person person2 = person1;
Dim person1 As New Person With {.Name = "Alice"}
Dim person2 As Person = person1
$vbLabelText   $csharpLabel

ここでは、person1person2の両方が同じメモリ位置を指しています。 person1を変更すると、person2もその変更を反映します:

person1.Name = "Bob"; 
Console.WriteLine(person2.Name); // Outputs "Bob"
person1.Name = "Bob"; 
Console.WriteLine(person2.Name); // Outputs "Bob"
person1.Name = "Bob"
Console.WriteLine(person2.Name) ' Outputs "Bob"
$vbLabelText   $csharpLabel

C#の配列

配列は、同じデータ型の複数の値を保持する参照型です。 それは同じ型の値のコレクションを格納できるコンテナのようなものです。

配列を宣言するには、まずその要素のデータ型を指定し、続いて角括弧を使用します。 次にnewキーワードを使用して配列を作成し、その長さを指定します。

int[] myIntArray = new int[5]; // Array of int type, can hold 5 values
int[] myIntArray = new int[5]; // Array of int type, can hold 5 values
Dim myIntArray(4) As Integer ' Array of int type, can hold 5 values
$vbLabelText   $csharpLabel

配列の要素にアクセスするには、インデックスを使用し、最初の要素は0から始まります。

myIntArray[0] = 10; // Sets the first element of the array to 10
myIntArray[0] = 10; // Sets the first element of the array to 10
myIntArray(0) = 10 ' Sets the first element of the array to 10
$vbLabelText   $csharpLabel

覚えておいてください、C#の配列は"参照型"なので、1つの変数で行った変更は、同じ配列を参照している"他の変数"にも影響を与えます。

IronPDFを使ってC#でPDFを生成

IronPDFはC#用の強力なライブラリで、開発者はPDFを作成、編集、内容を抽出することができます。 これは、レポートの生成や動的な請求書の作成などのタスクに非常に便利です。

IronPDFの準備

まず、IronPDFをインストールする必要があります。 これは.NET用の人気のあるパッケージマネージャーであるNuGetを通じて行うことができます。 パッケージマネージャーコンソールで次のコマンドを実行します:

Install-Package IronPdf

HTMLからPDFの作成

IronPDFはHTMLからPDFを作成することができます。 とてもシンプルです:

using IronPdf;

var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>").SaveAs("HelloWorld.pdf");
using IronPdf;

var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>").SaveAs("HelloWorld.pdf");
Imports IronPdf

Private Renderer = New ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>").SaveAs("HelloWorld.pdf")
$vbLabelText   $csharpLabel

上記のコードは"Hello, World!"の見出しを持つPDFを生成します。 HTMLコードは単に文字列であることに注意してください。 C#では、文字列は参照型であり、C#で最もよく使われる型の1つです。

C# Types(開発者向けの使い方)図1 - Hello Worldテキスト

結論

ドキュメントのフォーマットが完全に変更されました。 C#の型について、値型、参照型、プリデファインデータ型、コードを書く方法にどのように影響するかを理解する深いダイブを行いました。 また、IronPDFのようなライブラリを使用する力も見てきました。

IronPDFは無料トライアルを提供しており、IronPDFのライセンスは$liteLicensingから始まります。

よくある質問

C# が強い型付け言語であるとはどういう意味ですか?

C# は強い型付け言語であり、すべての変数とオブジェクトは、どのような種類のデータが保存できるのかを決定する宣言されたデータ型を持たなければなりません。これにより、データを扱うときに IronPDF などのライブラリを使用する際の型の安全性と一貫性が保証されます。

C# で HTML を PDF に変換するにはどうすればいいですか?

IronPDF の RenderHtmlAsPdf メソッドを使用して、HTML 文字列を PDF に変換できます。RenderHtmlFileAsPdf を使用して HTML ファイルを PDF に変換することもできます。

C# の値型とは何ですか?

C# の値型は割り当てられた実際のデータを格納します。一般的な例としては、整数 (int)、浮動小数点数 (float および double)、および論理値 (bool) があります。これらの型は、データ処理タスクに IronPDF を使用する際に役立ちます。

C# の参照型の目的は何ですか?

C# の参照型は、メモリ内の実際のデータが存在するアドレスを格納します。これは、IronPDF のようなライブラリを使用する際に重要です。なぜなら、同じデータを参照する変数間で変更が影響を与える可能性があるからです。

C# で暗黙の型変換を行うにはどうすれば良いですか?

C# の暗黙の型変換は、ある型の値を互換性のあるより大きな値を保持できる型に割り当てたときに自動的に発生します。たとえば、intdouble に変換することは自動的に行われます。これは、IronPDF を操作する際に遭遇するかもしれません。

C# の明示的な型変換の例を教えてください。

C# では、互換性のない型間の変換には明示的な型変換またはキャスティングが必要です。たとえば、doubleint に変換する場合などです。これは、値の前にターゲット型を括弧で囲むことによって行われ、IronPDF での特殊なデータ処理においても適用できます。

C# で配列はどのように使用されますか?

C# の配列は、同じデータ型の複数の値を格納できる参照型です。データ型に続けて角括弧を指定し、新しい配列を作成しその長さを指定するには new キーワードを使用します。この概念は、IronPDF で大規模データセットを管理する際に役立ちます。

C# でライブラリを使って HTML から PDF を作成するにはどうすれば良いですか?

IronPDF は、HTML から PDF を作成することを可能にする強力な C# ライブラリです。RenderHtmlAsPdf のようなメソッドを使用することで、簡単に HTML コンテンツから直接 PDF を生成できます。

C# で PDF 操作に IronPDF を使用するメリットは何ですか?

IronPDF は、C# での PDF 作成、編集、コンテンツ抽出のための強力な機能セットを提供します。HTML を PDF に変換すること、ヘッダーやフッターを追加することをサポートし、PDF ドキュメントを扱う開発者に不可欠なツールを提供します。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。