C# - 定数とリテラル:初心者ガイド
こんにちは、志を抱くプログラマーさんたち!今日は、C#における定数とリテラルの世界に飛び込みます。これらの用語が少し脅威のように聞こえるかもしれませんが、このチュートリアルの終わりまでに、プロのように使えるようになるでしょう!
定数とリテラルとは?
詳細に進む前に、まず定数とリテラルとは何かを理解しましょう。定数は、一度設定した後は値を変更できない特別な変数と考えられます。一方、リテラルはコード内で使用する実際の値です。
実世界の類似
あなたが好きなマグカップを思い浮かべてください。そのマグカップ自体は定数のように、変わりません。朝마다注ぐコーヒーはリテラルのように、実際の値です。
では、C#におけるさまざまなリテラルを見ていきましょう!
整数リテラル
整数リテラルは、小数点のない整数です。C#では、さまざまな方法で表現できます。
10進数(基数10)リテラル
これは私たちが日常生活で使用する数字です。
int myAge = 25;
long worldPopulation = 7800000000;
この例では、25
と7800000000
は整数リテラルです。
16進数(基数16)リテラル
16進数は0x
または0X
で始まります。
int hexValue = 0x1A; // 10進数の26に相当
ここで、0x1A
は16進数リテラルです。
2進数(基数2)リテラル
2進数は0b
または0B
で始まります。
int binaryValue = 0b1010; // 10進数の10に相当
この場合、0b1010
は2進数リテラルです。
浮動小数点リテラル
浮動小数点リテラルは、小数点を持つ数を表現します。
float pi = 3.14f;
double avogadroNumber = 6.022e23;
decimal bankBalance = 1234.56m;
これらの例では:
-
3.14f
はfloatリテラル('f'字尾に注意) -
6.022e23
はdoubleリテラルの科学記数法 -
1234.56m
はdecimalリテラル('m'字尾に注意)
文字定数
文字定数は、単一のUnicode文字を表現し、単一引用符で囲まれます。
char grade = 'A';
char newline = '\n';
ここで、'A'
と'\n'
は文字定数です。'\n'
は改行を表す特別なエスケープシーケンスです。
文字列リテラル
文字列リテラルは、二重引用符で囲まれた文字のシーケンスです。
string greeting = "Hello, World!";
string path = @"C:\Users\YourName\Documents";
これらの例では:
-
"Hello, World!"
は通常の文字列リテラル -
@"C:\Users\YourName\Documents"
はバックスラッシュをリテラル文字として扱うverbatim文字列リテラル
複数行文字列リテラル
C# 11では、複数行文字列を書く新しい方法が導入されました。
string poem = """
Roses are red,
Violets are blue,
C# is awesome,
And so are you!
""";
これにより、複数行文字列の書き込みがより簡単で読みやすくなります!
定数の定義
リテラルをカバーしたので、次にC#で定数をどう定義するか話しましょう。
定数を定義するには、const
キーワードを使用します:
public class MathConstants
{
public const double PI = 3.14159265359;
public const int DAYS_IN_WEEK = 7;
}
ここで、PI
とDAYS_IN_WEEK
は定数です。一度定義した後、その値は変更できません。
定数の使用时机
以下の条件を満たす値を持つ場合に定数を使用します:
- コンパイル時に既知
- プログラムの実行中に変更されない
- コード内で複数回使用される
例えば、数学定数、設定値、またはアルゴリズム内のマジックナンバーは、定数として適しています。
一般的なC#定数の一覧
以下は、C#でよく使用される定数の一覧です:
定数名 | 値 | 説明 |
---|---|---|
Math.PI |
3.14159265358979323846 | 円の周囲長と直径の比 |
Math.E |
2.7182818284590452354 | 自然対数の底 |
int.MaxValue |
2,147,483,647 | 32ビット符号付き整数の最大値 |
int.MinValue |
-2,147,483,648 | 32ビット符号付き整数の最小値 |
double.PositiveInfinity |
∞ | 正の無限大を表す |
double.NegativeInfinity |
-∞ | 負の無限大を表す |
string.Empty |
"" | 空の文字列 |
結論
おめでとうございます!あなたはC#の定数とリテラルの世界への第一歩を踏み出しました。これらはあなたのプログラムの基本構築ブロックであり、それを理解することで、プログラミングの旅で成功するための基盤を築くことになります。
学びを続け、成長を続ける中で、ますますこれらの概念を使用することになるでしょう。実験を恐れず、最良の学び方は実践です!
codingを続け、好奇心を持ち続け、覚えておいてください:プログラミングの世界では、あなたが定数であり、あなたの知識は常に成長する変数です。ハッピーコーディング!
Credits: Image by storyset