ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
C#では、 const キーワード コンパイル時に既知の定数フィールドや値を定義するための強力なツールです。これらの値は不変であり、一度設定されるとプログラム全体でその値を変更することはできません。 constを利用すると、変わらない値を明示することでコードの可読性と保守性を向上させることができます。 この記事では、constキーワードについて議論します。 IronPDFライブラリ.
定数変数を宣言するには、constキーワードの後にデータ型を使用し、その後すぐに初期化します。 例えば、const int myConstValue = 100; という記述は、整数の定数を定義しています。 定数変数はその値がコンパイル時に決定され、プログラムが実行される前に完全に評価されるため、宣言時に初期化する必要があることに注意が必要です。
public class Program
{
public const int MaxSize = 10;
static void Main(string [] args)
{
Console.WriteLine(MaxSize);
}
}
public class Program
{
public const int MaxSize = 10;
static void Main(string [] args)
{
Console.WriteLine(MaxSize);
}
}
Public Class Program
Public Const MaxSize As Integer = 10
Shared Sub Main(ByVal args() As String)
Console.WriteLine(MaxSize)
End Sub
End Class
この例は、定数整数の簡単な使用法を示しています。 (const int) クラス内で。 MaxSize 定数は同じクラス内でアクセス可能であり、static void Main メソッドで直接使用することができます。
const キーワードと readonly キーワードの両方は、変更不能な値を宣言するために使用されますが、これらには重要な違いがあります。 const フィールドはコンパイル時定数であり、その値はコンパイル時に決定され、中間言語に直接埋め込まれます。 (IL) コード これは静的であり、変更することはできません。
一方、readonly変数は宣言時またはクラスのコンストラクタ内で代入できます。 これは柔軟性を提供します。なぜなら、readonly フィールドはクラスをインスタンス化するために使用されるコンストラクタに応じて異なる値を持つことができるからです。
public class Program
{
public const string ConstExample = "Constant"; // const string
public readonly string ReadonlyExample;
public Program()
{
ReadonlyExample = "Initialized at runtime";
}
static void Main(string [] args)
{
Program p = new Program();
Console.WriteLine(ConstExample);
Console.WriteLine(p.ReadonlyExample);
}
}
public class Program
{
public const string ConstExample = "Constant"; // const string
public readonly string ReadonlyExample;
public Program()
{
ReadonlyExample = "Initialized at runtime";
}
static void Main(string [] args)
{
Program p = new Program();
Console.WriteLine(ConstExample);
Console.WriteLine(p.ReadonlyExample);
}
}
Public Class Program
Public Const ConstExample As String = "Constant" ' const string
Public ReadOnly ReadonlyExample As String
Public Sub New()
ReadonlyExample = "Initialized at runtime"
End Sub
Shared Sub Main(ByVal args() As String)
Dim p As New Program()
Console.WriteLine(ConstExample)
Console.WriteLine(p.ReadonlyExample)
End Sub
End Class
定数変数は、メソッド内またはクラスのメンバーとして宣言できます。 メソッド内でconst変数を宣言すると、それはローカル定数と呼ばれます。 ローカル定数は、それが宣言されたメソッド内でのみアクセス可能です。
public class Program
{
static void DemoMethod()
{
const int LocalConst = 5; // local constant
Console.WriteLine(LocalConst);
}
}
public class Program
{
static void DemoMethod()
{
const int LocalConst = 5; // local constant
Console.WriteLine(LocalConst);
}
}
Public Class Program
Private Shared Sub DemoMethod()
Const LocalConst As Integer = 5 ' local constant
Console.WriteLine(LocalConst)
End Sub
End Class
対照的に、クラス内で宣言されたが、メソッドの外にあるconstは、同じクラスの任意のstatic関数からアクセス可能です。これは、constフィールドが暗黙的にstaticであるためです。 ただし、クラス名を通して参照せずにインスタンスメソッドからconstフィールドにアクセスしようとすると、コンパイルエラーが発生します。
const値の主な特徴は、これらがコンパイル時に評価されるということです。つまり、constフィールドの値は、コンパイラによって既知で完全に評価される必要があります。 これは、実行時に評価される変数とは対照的であり、プログラムの実行中に値が決定されます。
たとえば、実行時に行われた計算に基づいてconstフィールドに値を割り当てようとすると、コンパイル時にエラーが発生します。 コンパイラは、const 値がコンパイル時に既知の定数式またはリテラル値から割り当てられることを要求します。
const double Pi = Math.PI; // This will cause a compile time error
const double Pi = Math.PI; // This will cause a compile time error
Const Pi As Double = Math.PI ' This will cause a compile time error
C#のconstやreadonlyの基本を超えて、定数式、静的コンストラクタ、静的フィールドの使い方を理解することで、特にクラスのインスタンス間で共有する必要がある定数値を扱う際に、コーディング実践を向上させることができます。
C#における定数式とは、コンパイル時に完全に評価される式のことです。したがって、const 変数を宣言する際には、その宣言の右辺は定数式でなければなりません。 これは、const 値が固定され、コンパイル済みのコードに直接埋め込むことができるため、非常に最適化され効率的なアプリケーションを実現します。
public class Calculator
{
public const int Multiplier = 2;
public const int DoubleMultiplier = Multiplier * 2; // Constant expression
}
public class Calculator
{
public const int Multiplier = 2;
public const int DoubleMultiplier = Multiplier * 2; // Constant expression
}
Public Class Calculator
Public Const Multiplier As Integer = 2
Public Const DoubleMultiplier As Integer = Multiplier * 2 ' Constant expression
End Class
この例では、DoubleMultiplier は、他の定数値を使用して計算される定数式であるため、コンパイル時定数として適格となります。
C#の静的コンストラクターは、クラスの静的フィールドを初期化する特別なコンストラクターです。 最初のインスタンスが作成されるか、任意の静的メンバーが参照される前に自動的に呼び出されます。 静的コンストラクターは、静的データの複雑な初期化や、インスタンスごとではなく型ごとに一度だけ実行する必要があるアクションを実行するために役立ちます。
public class Program
{
public static readonly string StartTime;
static Program()
{
StartTime = DateTime.Now.ToString("T");
}
public static void DisplayStartTime()
{
Console.WriteLine($"Program started at: {StartTime}");
}
}
public class Program
{
public static readonly string StartTime;
static Program()
{
StartTime = DateTime.Now.ToString("T");
}
public static void DisplayStartTime()
{
Console.WriteLine($"Program started at: {StartTime}");
}
}
Public Class Program
Public Shared ReadOnly StartTime As String
Shared Sub New()
StartTime = DateTime.Now.ToString("T")
End Sub
Public Shared Sub DisplayStartTime()
Console.WriteLine($"Program started at: {StartTime}")
End Sub
End Class
静的コンストラクターは、現在の時刻でStartTimeフィールドを初期化します。この値はその後、DisplayStartTime静的メソッドを通じてアクセス可能となり、静的コンストラクターがランタイムまで不明な値で読み取り専用フィールドを初期化する方法を示しています。
readonly
およびstatic
キーワードと静的フィールド静的フィールドはクラスのインスタンスではなくクラス自体に属し、static キーワードを使用して宣言されます。 readonly キーワードと組み合わせた場合、static フィールドは宣言時点で初期化するか、または static コンストラクタ内で初期化され、その後は変更することができません。
public class Configuration
{
public static readonly int MaxUsers;
public const int TimeoutSeconds = 30;
static Configuration()
{
MaxUsers = FetchMaxUsersFromConfig();
}
private static int FetchMaxUsersFromConfig()
{
// Imagine this method reads from a configuration file
return 100;
}
}
public class Configuration
{
public static readonly int MaxUsers;
public const int TimeoutSeconds = 30;
static Configuration()
{
MaxUsers = FetchMaxUsersFromConfig();
}
private static int FetchMaxUsersFromConfig()
{
// Imagine this method reads from a configuration file
return 100;
}
}
Public Class Configuration
Public Shared ReadOnly MaxUsers As Integer
Public Const TimeoutSeconds As Integer = 30
Shared Sub New()
MaxUsers = FetchMaxUsersFromConfig()
End Sub
Private Shared Function FetchMaxUsersFromConfig() As Integer
' Imagine this method reads from a configuration file
Return 100
End Function
End Class
次の例では、ランタイム時に構成ファイルから取得される値でreadonlyの静的フィールドMaxUsersを初期化するために、静的コンストラクターを使用する方法を示しています。constフィールドであるTimeoutSecondsは、コードに直接埋め込まれるコンパイル時定数を表しています。
IronPDFは、多才なライブラリであり、開発者が.NETアプリケーションでPDFドキュメントを作成、編集、および読み取ることを可能にします。 この強力なツールは、開発者がPDF生成を簡単にすることを可能にします。 HTMLをPDFに変換する PDFファイルのコンテンツを操作し、データを簡単に抽出することができます。
IronPDFを使い始めるには、まず最初にIronPDFのライブラリをプロジェクトにインストールします。以下はNode.jsでの例です。
const { IronPDF } = require('iron-pdf');
const PDFDocument = IronPDF.PdfDocument;
上記のコードは、IronPDFライブラリをインポートし、その中のPDFDocumentクラスを利用できるようにします。これで、PDF操作などの様々な機能を使えるようになります。
次に、PDFファイルを生成する簡単な例を見てみましょう。
async function createPDF() {
const pdfDoc = new PDFDocument();
pdfDoc.addPage().appendText("Hello, World!");
await pdfDoc.saveAs("/path/to/output.pdf");
}
createPDF();
この関数は、新しいPDFドキュメントを作成し、"Hello, World!"というテキストを追加して保存するという簡単な例を示しています。
IronPDFを .NET プロジェクトに統合する方法を示すために、PDF ドキュメントに変換したい HTML 文字列を定義する定数を使用するシンプルな例を見てみましょう。
using IronPdf;
public class PdfGenerator
{
// Defining a constant HTML template
public const string HtmlTemplate = @"
<html>
<head>
<title>PDF Report</title>
</head>
<body>
<h1>IronPDF Report</h1>
<p>This is a simple PDF document generated from HTML string using IronPDF.</p>
</body>
</html>";
public static void CreatePdf(string filePath)
{
IronPdf.License.LicenseKey = "License";
// Create a new PDF document from HTML template
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(HtmlTemplate);
// Save the PDF document to a file
pdf.SaveAs(filePath);
Console.WriteLine($"PDF generated successfully at {filePath}");
}
}
class Program
{
static void Main(string [] args)
{
PdfGenerator.CreatePdf("example.pdf");
}
}
using IronPdf;
public class PdfGenerator
{
// Defining a constant HTML template
public const string HtmlTemplate = @"
<html>
<head>
<title>PDF Report</title>
</head>
<body>
<h1>IronPDF Report</h1>
<p>This is a simple PDF document generated from HTML string using IronPDF.</p>
</body>
</html>";
public static void CreatePdf(string filePath)
{
IronPdf.License.LicenseKey = "License";
// Create a new PDF document from HTML template
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(HtmlTemplate);
// Save the PDF document to a file
pdf.SaveAs(filePath);
Console.WriteLine($"PDF generated successfully at {filePath}");
}
}
class Program
{
static void Main(string [] args)
{
PdfGenerator.CreatePdf("example.pdf");
}
}
Imports IronPdf
Public Class PdfGenerator
' Defining a constant HTML template
Public Const HtmlTemplate As String = "
<html>
<head>
<title>PDF Report</title>
</head>
<body>
<h1>IronPDF Report</h1>
<p>This is a simple PDF document generated from HTML string using IronPDF.</p>
</body>
</html>"
Public Shared Sub CreatePdf(ByVal filePath As String)
IronPdf.License.LicenseKey = "License"
' Create a new PDF document from HTML template
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(HtmlTemplate)
' Save the PDF document to a file
pdf.SaveAs(filePath)
Console.WriteLine($"PDF generated successfully at {filePath}")
End Sub
End Class
Friend Class Program
Shared Sub Main(ByVal args() As String)
PdfGenerator.CreatePdf("example.pdf")
End Sub
End Class
この例では、HtmlTemplate 定数が単純なHTMLコンテンツで定義されており、これはPDFドキュメントのソースとして機能します。 CreatePdf メソッドは、IronPDF の ChromePdfRenderer クラスを使用して、この HTML を PDF に変換し、指定されたファイルパスに保存します。 これは、IronPDF を使用して静的 HTML コンテンツから PDF を生成する際の簡便さを示しており、変更不可能な HTML テンプレートを定義するために const キーワードを活用しています。
こちらが出力されたPDFファイルです:
C# では、const キーワードは、コンパイル時に既知である不変の値を定義するための貴重な機能です。これは、どの値が定数であるかを明示することで、コードの読みやすさと保守性を向上させます。 覚えておいてください。const 変数は暗黙的に static であり、宣言時に初期化され、値はコンパイル時定数でなければなりません。 比較すると、readonly 変数はより柔軟性を持ちますが、実行時に初期化されます。
IronPDFは、PDF操作における強力な機能だけでなく、柔軟な導入モデルでも際立っています。 開発者や企業がその機能を探索するために、IronPDFは 無料試用初期投資なしでその機能と統合の容易さを評価する絶好の機会を提供します。
商業利用のためにIronPDFを使用する準備が整ったら、ライセンスオプションは$Lite License
からとなります。 この価格構造は、さまざまなプロジェクトの規模やタイプのニーズに対応するよう設計されており、開発および配布計画に最適なライセンスを選択できるようにしています。
9つの .NET API製品 オフィス文書用