.NET ヘルプ

C#プリントラインの効果的な使い方

公開済み 2024年4月3日
共有:

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
VB   C#

上記のコードでは、Console.WriteLineステートメントが指定された文字列値を出力しています。(「こんにちは、C#(シーシャープ)プリントライン!")の後に改行が続く。これは、WriteLine メソッドによって実現され、出力の最後に行終端記号を付加する。

ライン・ターミネーター

行終端文字は、行の終わりを示す特殊な文字またはシーケンスである。最も一般的な2つの行終端文字は、キャリッジ・リターン('\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
VB   C#

上記の例では、プログラム実行後、Console.WriteLineを実行するたびに、C#のコンソールウィンドウに新しい行が生成され、指定した2行が生成されます。

C#シーシャープライン(開発者のための仕組み):図1 - 先ほどのコードのコンソール出力

ライン・ターミネーターの指定

行の終端を明示的に制御する必要がある場合は、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
VB   C#

この例では、キャリッジ・リターン('\r')はカーソルを行頭に置くために使われ、その結果、テキストの2番目の部分が左端の位置に表示される。

C#シーシャープライン(開発者のための仕組み):図2 - コンソールの出力。

複数行の印刷

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
VB   C#

今回作成したPrintLinesメソッドは、指定された文字列パラメーターの配列を受け取り、指定された文字列値を印刷する新しい行を任意の数だけ渡すことができます:

C#シーシャープライン(開発者のための仕組み):図3 - 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
VB   C#

この例では、である。{0} は指定されたオブジェクトのプレースホルダ(この場合、answernameである。)これにより、可変データを出力に含め、指定されたフォーマット情報を印刷することができる。

C#シーシャープライン(開発者のための仕組み):図4 - フォーマットを示すコンソール出力

改行とユニコード文字

特殊な改行やユニコード文字には、エスケープ・シーケンスを使うことができます。 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
VB   C#

ここで、nu000A、はどちらも改行文字を表し、それぞれテキストを次の行に移動させる。

C# (シーシャープ) プリントライン(開発者のための仕組み):図5 - 改行文字を示すコンソール出力

ランダムなブール値

以下のコードでは、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
VB   C#

式から返された指定データは、以下のようにコンソール・アプリケーションに表示される:

C# プリントライン (開発者のための仕組み):図6 - 文字列補間を使用してブール値を示すコンソール出力

異なる数値フォーマットの印刷

特に倍精度浮動小数点数や単精度浮動小数点数を扱う場合、さまざまな数値フォーマットを印刷することは、プログラミングにおいて一般的な要件である。 この場合も、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}")
VB   C#

この例では、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}")
VB   C#

既存の文字列を印刷するのは簡単だ。 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}")
VB   C#

倍精度同様、単精度浮動小数点にはF7フォーマット指定子が使用される。 F'の後の数字は、精度の要求に応じて調整することができる。

C#で強力な印刷機能を解き放つ;

ドキュメントの印刷は多くのアプリケーションの基本的な側面であり、C# (シーシャープ)で印刷の可能性を最大限に活用する場合、IronPrintは多用途で機能豊富なライブラリとして際立っています。

IronPrint の紹介

IronPrintIron Software)により開発された、C#(シーシャープ)を含む.NETエコシステム用に設計された高度な印刷ライブラリです。 デスクトップ、モバイル、ウェブアプリケーションを問わず、IronPrintはC#(シーシャープ)プロジェクトとシームレスに統合し、多様な印刷ニーズに対応する包括的なツールを提供します。

C#プリントライン (開発者のための仕組み):図7 - IronPrintのウェブページ

IronPrintの主な機能

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コマンドを実行することで、ライブラリを素早くインストールすることができます。

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
VB   C#

ここでの出力は、PrintメソッドとShowPrintDialogメソッドを使った文書の印刷を示している。 物理的なプリンターがインストールされていない場合は、デフォルトのプリンターが印刷に使用されます。

C#シーシャープ行(開発者のための仕組み):図8 - 印刷開始ポップアップと印刷出力保存ポップアップ

高度な印刷機能

IronPrintは基本的な印刷作業にとどまらず、次のような高度な機能を提供します:

  • サイレント印刷:Printer.PrintAsync**を使用してダイアログを表示せずにドキュメントを印刷します。
  • カスタム印刷設定:で印刷パラメータを微調整します。**プリント設定クラス。
  • 非同期印刷:メインスレッドがブロックされるのを防ぐため、印刷操作を非同期で実行する。
  • プリンタを選択します:プリンタの選択GetPrinterNamesこの方法では、利用可能なプリンターから選択することができ、印刷プロセスをより細かく制御することができます。

プラットフォーム固有の調整

IronPrintは、様々なプラットフォームに合わせた印刷ソリューションを提供します。 例えば、Windows、Android、iOS、macOSのような特定のプラットフォームをターゲットとする.NETコアプロジェクトで作業する場合、プロジェクトファイルのTargetFrameworksプロパティを適宜調整することができます。

IronPrintの詳細については、こちらをご覧ください。ドキュメント以下のコンテンツを日本語に翻訳してください:**APIリファレンスページ。

結論

C#(シーシャープ)で行を印刷することは、コンソールアプリケーション開発の基礎となるスキルです。 テキストの表示、出力の書式設定、行終端の制御など、さまざまなテクニックを理解することで、効果的で読みやすいコンソール・プログラムを作成する能力が高まります。 C#(シーシャープ)クラスが提供する多様なメソッドを探求し、書式オプションを試し、C#の柔軟性を活用して、アプリケーションで明確で構造化されたコンソール出力を作成します。

IronPrintは堅牢で柔軟な印刷機能を求めるC#開発者の強力な味方となる。 クロスプラットフォームのサポート、様々な.NETバージョンとの互換性、高度な印刷機能により、IronPrintは様々なC# (.NET)アプリケーションにおける印刷ソリューションの実装を簡素化します。 デスクトップ、モバイル、ウェブを問わず、IronPrintはC#開発の世界で印刷要件を実現するために必要なツールを提供します。

IronPrintは、次のようなサービスを提供しています。無料体験商業利用のため。 ライブラリを以下からダウンロード[以下の内容を日本語に翻訳します:

ここに

ご希望のイディオムや技術用語が追加されることによって、より適切な翻訳が提供できる場合もありますので、詳細なコンテキストを教えていただけると幸いです。](/csharp/print/)そしてお試しください。

次へ >
C#プリント変数:コードの簡素化

準備はできましたか? バージョン: 2024.12 新発売

無料のNuGetダウンロード 総ダウンロード数: 12,281 ライセンスを表示 >