透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
C#(シーシャープ)での行の印刷は、コンソール・アプリケーションの基本的な側面であり、コンソール画面にテキストや指定した値を表示することです。 標準出力ストリームを扱う場合でも、文字列のフォーマットを行う場合でも、行を効率的に出力する方法を理解することは、C# コンソールアプリケーションにおいて重要です。
この記事では、C#(シーシャープ)の行の印刷に関するさまざまな方法とテクニックを探ります。
C# では、行を印刷するには通常、Console.WriteLine メソッドを使用します。 まずは簡単な例を見てみよう:
using System;
class Program {
public static void Main() {
Console.WriteLine("Hello, C# Print Line!");
}
}
using System;
class Program {
public static void Main() {
Console.WriteLine("Hello, C# Print Line!");
}
}
Imports System
Friend Class Program
Public Shared Sub Main()
Console.WriteLine("Hello, C# Print Line!")
End Sub
End Class
上記のコードでは、Console.WriteLine 文が指定された文字列値("Hello, C# Print Line!")を出力し、その後に改行を追加します。これは、出力の末尾に行終端記号を追加する WriteLine メソッドによって実現されます。
行末文字は、行の終わりを示す特別な文字またはシーケンスです。最も一般的な行末文字はキャリッジリターン('\r')とラインフィード('\n')です。 C#では、Console.WriteLineメソッドがオペレーティングシステムに基づいた適切な現在の行終端子を使用することを処理します。
public static void Main() {
Console.WriteLine("This is on the first line.");
Console.WriteLine("This is on the second line.");
}
public static void Main() {
Console.WriteLine("This is on the first line.");
Console.WriteLine("This is on the second line.");
}
Public Shared Sub Main()
Console.WriteLine("This is on the first line.")
Console.WriteLine("This is on the second line.")
End Sub
上記の例では、プログラムの実行後、各Console.WriteLineがC#のコンソールウィンドウに新しい行を生成し、指定された2行が出力されます。
行終端子を明示的に制御する必要がある場合は、Console.Write メソッドを使用し、必要な行終端子を手動で追加することができます。
public static void Main() {
Console.Write("This is on the first line.");
Console.Write('\r'); // Carriage return
Console.Write("This is on the same line but very far left position.");
}
public static void Main() {
Console.Write("This is on the first line.");
Console.Write('\r'); // Carriage return
Console.Write("This is on the same line but very far left position.");
}
Imports Microsoft.VisualBasic
Public Shared Sub Main()
Console.Write("This is on the first line.")
Console.Write(ControlChars.Cr) ' Carriage return
Console.Write("This is on the same line but very far left position.")
End Sub
この例では、キャリッジリターン('\r')を使用してカーソルを行の先頭に位置させることで、テキストの後半部分が左端に表示され、以前の出力を上書きします。
複数行を Console.WriteLine 文を繰り返さずに印刷するには、可変長引数リストを使用できます。
public static void Main() {
PrintLines("Line 1", "Line 2", "Line 3");
}
static void PrintLines(params string [] lines) {
foreach (var line in lines) {
Console.WriteLine(line);
}
}
public static void Main() {
PrintLines("Line 1", "Line 2", "Line 3");
}
static void PrintLines(params string [] lines) {
foreach (var line in lines) {
Console.WriteLine(line);
}
}
Public Shared Sub Main()
PrintLines("Line 1", "Line 2", "Line 3")
End Sub
Shared Sub PrintLines(ParamArray ByVal lines() As String)
For Each line In lines
Console.WriteLine(line)
Next line
End Sub
私たちが作成したPrintLinesメソッドは、指定された文字列パラメータの配列を受け取り、指定された文字列値を印刷するための任意の数の新しい行を渡すことができます。
さまざまなデータ型を扱う際には、出力のフォーマットが極めて重要です。Console.WriteLine メソッドは、指定されたオブジェクトとフォーマット情報を受け入れるいくつかのオーバーロードを提供します。
public static void Main() {
int answer = 42;
string name = "John Doe";
Console.WriteLine("The answer is {0}.", answer);
Console.WriteLine("Hello, {0}!", name);
}
public static void Main() {
int answer = 42;
string name = "John Doe";
Console.WriteLine("The answer is {0}.", answer);
Console.WriteLine("Hello, {0}!", name);
}
Public Shared Sub Main()
Dim answer As Integer = 42
Dim name As String = "John Doe"
Console.WriteLine("The answer is {0}.", answer)
Console.WriteLine("Hello, {0}!", name)
End Sub
この例では、{0} は指定されたオブジェクト(この場合、answer と name)のプレースホルダーであり、可変データを出力に含めて、指定されたフォーマット情報を印刷することができます。
特殊な改行やユニコード文字には、エスケープ・シーケンスを使うことができます。 Console.WriteLineを使えば、ASCIIリテラルや有効なHTMLコードを表示することもできます。例えば、同じ文字列の中に1行の改行を含めるには、次のようにします:
public static void Main() {
Console.WriteLine("This is line 1.\nThis is line 2.");
Console.WriteLine("Line 1\u000Aline 2");
}
public static void Main() {
Console.WriteLine("This is line 1.\nThis is line 2.");
Console.WriteLine("Line 1\u000Aline 2");
}
Imports Microsoft.VisualBasic
Public Shared Sub Main()
Console.WriteLine("This is line 1." & vbLf & "This is line 2.")
Console.WriteLine("Line 1" & vbLf & "line 2")
End Sub
こちらでは、\n および \u000A といった指定されたUnicode文字は、どちらも改行文字を表しており、いずれの場合もテキストが次の行に移動します。
以下のコードは、Console.WriteLineメソッドで文字列補間を使用しています。 文字列補間は、C# 6.0から導入された機能で、文字列リテラル内に式や変数を埋め込み、指定されたブール値をコンソールアプリケーションに適切に表示するプロセスを簡素化します。
Random rnd = new Random();
for (int i = 1; i <= 5; i++)
{
bool isTrue = rnd.Next(0, 2) == 1;
Console.WriteLine($"True or False: {isTrue}");
}
Random rnd = new Random();
for (int i = 1; i <= 5; i++)
{
bool isTrue = rnd.Next(0, 2) == 1;
Console.WriteLine($"True or False: {isTrue}");
}
Dim rnd As New Random()
For i As Integer = 1 To 5
Dim isTrue As Boolean = rnd.Next(0, 2) = 1
Console.WriteLine($"True or False: {isTrue}")
Next i
式から返された指定データは、以下のようにコンソール・アプリケーションに表示される:
特に倍精度浮動小数点数や単精度浮動小数点数を扱う場合、さまざまな数値フォーマットを印刷することは、プログラミングにおいて一般的な要件である。 再び、Console.WriteLine ステートメントを使用することで、それらを正確かつ容易に印刷することができます。
double doubleValue = 0.123456789;
Console.WriteLine($"Double Precision: {doubleValue:F7}");
double doubleValue = 0.123456789;
Console.WriteLine($"Double Precision: {doubleValue:F7}");
Dim doubleValue As Double = 0.123456789
Console.WriteLine($"Double Precision: {doubleValue:F7}")
この例では、F7 は小数点以下7桁で倍精度浮動小数点値をフォーマットすることを指定します。 F'の後の数字を調整することで、精度をコントロールすることができる。
string existingString = "Hello, C#!";
Console.WriteLine($"Existing String: {existingString}");
string existingString = "Hello, C#!";
Console.WriteLine($"Existing String: {existingString}");
Dim existingString As String = "Hello, C#!"
Console.WriteLine($"Existing String: {existingString}")
既存の文字列を印刷するのは簡単だ。 Console.WriteLineを使用して表示したい文字列を含めるだけです。
float singleValue = 0.123456789f;
Console.WriteLine($"Single Precision: {singleValue:F7}");
float singleValue = 0.123456789f;
Console.WriteLine($"Single Precision: {singleValue:F7}");
Dim singleValue As Single = 0.123456789F
Console.WriteLine($"Single Precision: {singleValue:F7}")
倍精度と同様に、F7 フォーマット指定子はここで単精度浮動小数点数に使用されます。 F'の後の数字は、精度の要求に応じて調整することができる。
ドキュメントの印刷は多くのアプリケーションの基本的な側面であり、C# (シーシャープ)で印刷の可能性を最大限に活用する場合、IronPrintは多用途で機能豊富なライブラリとして際立っています。
IronPrintは、Iron Softwareによって開発された、C#を含む.NETエコシステム向けの高度な印刷ライブラリです。 デスクトップ、モバイル、ウェブアプリケーションを問わず、IronPrintはC#(シーシャープ)プロジェクトとシームレスに統合し、多様な印刷ニーズに対応する包括的なツールを提供します。
1. クロスプラットフォーム互換性:
IronPrintはWindows、macOS、Android、iOSなど様々なOSをサポートしている。 このクロスプラットフォーム互換性により、お客様の印刷ソリューションがさまざまな環境のユーザーに届くことが保証されます。
2. .NETバージョンサポート:
.NET Framework 4.6.2以上、.NETコア3.1+、そして最新の.NETバージョンと互換性のあるIronPrintは、幅広い.NET環境をカバーします。
3. プロジェクトタイプのサポート:
IronPrintは、モバイル(Xamarin & MAUI)、デスクトップ(WPF & MAUI)、コンソール(アプリ&ライブラリ)を含むさまざまなプロジェクトタイプに対応しています。 この柔軟性により、さまざまなアプリケーション・アーキテクチャに適している。
4. 簡単インストール:
IronPrintを使い始めるのは簡単です。 NuGet パッケージ マネージャー コンソールを使用し、Install-Package IronPrint コマンドを実行することで、このライブラリを迅速にインストールできます。
以下は、C#コンソールアプリケーションでIronPrintを使用してドキュメントを印刷するのがいかに簡単かを示すシンプルな例です。
using IronPrint;
class Program
{
static void Main()
{
Console.WriteLine("Printing Started...");
// Silent printing of a document
Printer.Print("document.pdf");
// Or display a print dialog
Printer.ShowPrintDialog("document.pdf");
Console.WriteLine("Printing Completed...");
}
}
using IronPrint;
class Program
{
static void Main()
{
Console.WriteLine("Printing Started...");
// Silent printing of a document
Printer.Print("document.pdf");
// Or display a print dialog
Printer.ShowPrintDialog("document.pdf");
Console.WriteLine("Printing Completed...");
}
}
Imports IronPrint
Friend Class Program
Shared Sub Main()
Console.WriteLine("Printing Started...")
' Silent printing of a document
Printer.Print("document.pdf")
' Or display a print dialog
Printer.ShowPrintDialog("document.pdf")
Console.WriteLine("Printing Completed...")
End Sub
End Class
ここでは、PrintメソッドとShowPrintDialogメソッドを使用して文書を印刷する様子を示しています。 物理的なプリンターがインストールされていない場合は、デフォルトのプリンターが印刷に使用されます。
IronPrintは基本的な印刷作業にとどまらず、次のような高度な機能を提供します:
IronPrintは、様々なプラットフォームに合わせた印刷ソリューションを提供します。 たとえば、Windows、Android、iOS、macOSのような特定のプラットフォームを対象とした .NET Core プロジェクトを扱う際は、プロジェクトファイル内のTargetFrameworks プロパティを適宜調整できます。
より詳細な情報を得るには、IronPrintのドキュメントとAPIリファレンスページをご覧ください。
C#(シーシャープ)で行を印刷することは、コンソールアプリケーション開発の基礎となるスキルです。 テキストの表示、出力の書式設定、行終端の制御など、さまざまなテクニックを理解することで、効果的で読みやすいコンソール・プログラムを作成する能力が高まります。 Console クラスが提供する多様なメソッドを探索し、フォーマットオプションを試行し、C# の柔軟性を活用して、アプリケーションで明確で構造化されたコンソール出力を生成しましょう。
IronPrintは堅牢で柔軟な印刷機能を求めるC#開発者の強力な味方となる。 クロスプラットフォームのサポート、様々な.NETバージョンとの互換性、高度な印刷機能により、IronPrintは様々なC# (.NET)アプリケーションにおける印刷ソリューションの実装を簡素化します。 デスクトップ、モバイル、ウェブを問わず、IronPrintはC#開発の世界で印刷要件を実現するために必要なツールを提供します。
IronPrint は商業利用向けに無料体験版を提供しています。 こちらからライブラリをダウンロードして試してみてください。