工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C# 入出力の基礎:ユーザー入力と出力の基本をマスター

C# 入出力の基礎

このガイドでは、C# の核となる入出力技術を解説し、ユーザーデータの読み取りと結果の表示を確実に行う方法を紹介します。

C# 出力

コンソールにデータを書き出すには、C# では主に以下の 2 つのメソッドを使用します:

System.Console.WriteLine()
System.Console.Write()

ここで System は名前空間、Console はその名前空間内のクラス、WriteLine と Write はそのメソッドです。

例 1:WriteLine() で文字列を出力

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            Console.WriteLine("C# is cool");
        }
    }
}

実行結果:

C# is cool

WriteLine() と Write() の違い

WriteLine() は指定されたテキストを出力して改行しますが、Write() は改行せずにテキストを出力します。

例 2:WriteLine() と Write() の使い分け

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            Console.WriteLine("Prints on ");
            Console.WriteLine("New line");
            Console.Write("Prints on ");
            Console.Write("Same line");
        }
    }
}

出力:

Prints on
New line
Prints on Same line

変数とリテラルの出力

WriteLine() と Write() は変数やリテラルの両方を表示できます。

例 3:変数とリテラルの出力

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int value = 10; // 変数
            Console.WriteLine(value); // リテラル
            Console.WriteLine(50.05);
        }
    }
}

結果:

10
50.05

+ 演算子による文字列連結

出力時に + 演算子を使って文字列を結合できます。

例 4:連結出力

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int val = 55;
            Console.WriteLine("Hello " + "World");
            Console.WriteLine("Value = " + val);
        }
    }
}

結果:

Hello World
Value = 55

フォーマット文字列:よりクリーンなアプローチ

フォーマット文字列を使用すると、実行時に置き換わるプレースホルダーを埋め込めるため、可読性が向上しエラーが減ります。

例えば、以下のように書く代わりに:

Console.WriteLine("Value = " + val);

以下のように書けます:

Console.WriteLine("Value = {0}", val);

ここで {0} は val のプレースホルダーです。複数の変数には追加のプレースホルダーを使用します。

例 5:文字列フォーマットの使用

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int firstNumber = 5, secondNumber = 10, result;
            result = firstNumber + secondNumber;
            Console.WriteLine("{0} + {1} = {2}", firstNumber, secondNumber, result);
        }
    }
}

出力:

5 + 10 = 15

この方法は手動での連結よりも可読性が高く、エラーも起きにくいです。

文字列フォーマットの詳細は「C# 文字列フォーマット」を参照してください。


C# 入力

ユーザー入力を取得する最も簡単な方法は Console.ReadLine() です。より細かい入力には Read() と ReadKey() も利用できます。

例 6:ユーザーから文字列を読み取る

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            string testString;
            Console.Write("Enter a string - ");
            testString = Console.ReadLine();
            Console.WriteLine("You entered '{0}'", testString);
        }
    }
}

出力:

Enter a string - Hello World
You entered 'Hello World'

ReadLine()、Read()、ReadKey() の理解

より詳細については、StackOverflow の「Console.Read() と Console.ReadLine() の違い」を参照してください。


例 7:Read() と ReadKey() のデモ

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int userInput;
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
            Console.WriteLine();
            Console.Write("Input using Read() - ");
            userInput = Console.Read();
            Console.WriteLine("Ascii Value = {0}", userInput);
        }
    }
}

出力:

Press any key to continue... x
Input using Read() - Learning C#
Ascii Value = 76

ReadKey() は押されたキーを即座に表示しますが、Read() は 1 行を取得し、最初の文字の ASCII コードのみを返します(ここでは 'L' の 76)。


数値の読み取り

文字列は直接読み取れますが、数値型には変換が必要です。Convert クラスが直感的なメソッドを提供しています。

例 8:ユーザー入力を数値に変換

using System;
namespace UserInput {
    class MyClass {
        public static void Main(string[] args) {
            string userInput;
            int intVal;
            double doubleVal;
            Console.Write("Enter integer value: ");
            userInput = Console.ReadLine();
            intVal = Convert.ToInt32(userInput);
            Console.WriteLine("You entered {0}", intVal);
            Console.Write("Enter double value: ");
            userInput = Console.ReadLine();
            doubleVal = Convert.ToDouble(userInput);
            Console.WriteLine("You entered {0}", doubleVal);
        }
    }
}

結果:

Enter integer value: 101
You entered 101
Enter double value: 59.412
You entered 59.412

Convert クラスの ToInt32() と ToDouble() メソッドで、入力文字列を目的の数値型に変換します。変換メソッドの完全な一覧は .NET ドキュメントで確認できます。

代替的な数値入力戦略については「ユーザー入力から整数を読み取る」を参照してください。

C言語

  1. Raspberry PiとPythonでリモート温度センサーを構築 – ステップバイステップガイド
  2. MCP3008 ADCでRaspberry Piにアナログセンサーを接続 - 配線、SPI設定、サンプルPythonコード
  3. Nucleus SEのメールボックス:設定と使用の実践ガイド
  4. Nucleus SEのセマフォ:概要、設定、API要点
  5. Nucleus SEのキュー:導入とコアサービスコール
  6. 広がるクラウドの地平:新ゾーン、コンテナ、マルチクラウド戦略
  7. Cloud Linuxが共有ホスティングのセキュリティ、安定性、パフォーマンスを向上させる理由
  8. C++入出力完全ガイド:cin/coutの基本から複数入力まで
  9. C言語入出力(I/O)マスター:scanf()とprintf()徹底解説
  10. Python I/Oとモジュールインポート完全マスター: 実践ガイド
  11. Java入出力をマスター:表示、読み取り、データフォーマット