Console クラス
System 名前空間に属し、.NET 基本クラスライブラリ(BCL)の一部です
コンソールウィンドウのテキスト読み書きを担当し、出力用メソッドが2種類用意されています:Write() / WriteLine()
Visual Studio で Console という文字にカーソルを合わせ F12 キーを押すと、このクラスの定義を確認できます

すると Console のメタデータ閲覧画面に遷移します。これは実際のソースコードではなく、VS標準搭載の逆コンパイラ機能で、クラスのメソッド名・引数などの情報を確認可能です。

Console のメタデータ内には、呼び出し可能な Write()、WriteLine() といった関数が記載されています。

Console.Write()
テキスト出力後に自動で改行されないため、連続実行した出力内容は同一行に連なって表示されます
// 簡略記述(上部で using System を宣言している場合 System. を省略可)
Console.Write("Hello everyone.");
// 完全修飾記述
System.Console.Write("This is foxdevelop.");
System.Console.Write("This is com.");
System.Console.Write("good luck.");Code language: JavaScript (javascript)
上記コードを Main メソッド内に貼り付けて実行してください。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HelloDemo
{
internal class Program
{
static void Main(string[] args)
{
// 簡略記述(上部で using System を宣言している場合 System. を省略可)
Console.Write("Hello everyone.");
// 完全修飾記述
System.Console.Write("This is foxdevelop.");
System.Console.Write("This is com.");
System.Console.Write("good luck.");
}
}
}Code language: JavaScript (javascript)
実行結果
Hello everyone.This is foxdevelop.This is com.good luck.Code language: CSS (css)
文字列リテラルは二重引用符で囲む必要があり、一重引用符は使用できません。
Console.WriteLine()
Write と機能は同じですが、出力末尾に自動で改行文字が付加され、1回の出力ごとに別の行に表示されます。
出力完了後カーソルが次の行先頭に移動し、次の出力待機状態になる仕組みです。
Console.WriteLine("Hello everyone.");
Console.WriteLine("This is foxdevelop.");
Console.WriteLine("This is com.");
Console.WriteLine("good luck.");Code language: JavaScript (javascript)
実行結果

今回は各行ごとに改行が入り、出力後カーソルが次の行に移っているのが確認できます。
書式指定文字列
(古いプレースホルダー記法。既存の古いプロジェクトで広く使われています)
- メソッド引数の形式:
Console.WriteLine(書式文字列, 置換値0, 置換値1, ...) - 第一引数は必ず書式文字列となり、
{数値}が置換マーカーとして使用されます - マーカーの数値は
0から始まり、後続に渡した置換値の順番に対応します - 複数の置換引数はカンマで区切ります
static void Main(string[] args)
{
Console.WriteLine(" {0} + {1} = {2}", 9, 6,9 + 6);
}Code language: JavaScript (javascript)
実行結果
9 + 6 = 15
最初の文字列「 {0} + {1} = {2}」には3つのプレースホルダーが含まれ、数字順に後ろの引数9、6、足し算結果15が対応。実行時に各マーカーに値が埋め込まれます。
文字列補間
C# 6.0以降に追加された便利な記法で、プレースホルダー内に直接変数を記述できます
文字列先頭に $ 記号を付けると補間機能が有効化され、波括弧 {} 内に変数名を直接記載可能。コンパイラが自動的に値を埋め込むため、追加の置換引数は不要です
static void Main(string[] args)
{
double pi = 3.14;
string webSite = "foxdevelop.com";
Console.WriteLine($"The Pi is {pi} and the website is {webSite}.");
}Code language: JavaScript (javascript)

実行結果
The Pi is 3.14 and the website is foxdevelop.com.Code language: CSS (css)
複数変数の使用
下記サンプルは1つの文字列テンプレート内に複数の変数プレースホルダーを記述する例です
int latitude = 36;
int longitude = 17;
string north = "N", east = "E", south = "S";
Console.WriteLine($"緯度 {latitude}{north}, 経度 {longitude}{east}");
Code language: JavaScript (javascript)
実行結果
緯度 36N, 経度 17E
使用上の注意点
複雑な文字列補間は変数の順番を間違えやすいため、新旧両方の記法を習得することを推奨。現役の多くのプロジェクトで古い書式記法がまだ使用されています。