C#-定数とリテラル
定数は、プログラムの実行中に変更できない固定値を参照します。これらの固定値は、リテラルとも呼ばれます。定数は、整数定数、浮動定数、文字定数、文字列リテラルなど、基本的なデータ型のいずれでもかまいません。列挙定数もあります。
定数は、定義後に値を変更できないことを除いて、通常の変数と同じように扱われます。
整数リテラル
整数リテラルは、10進数または16進数の定数にすることができます。接頭辞は基数または基数を指定します。16進数の場合は0xまたは0Xであり、10進数の場合は接頭辞IDはありません。
整数リテラルには、unsignedとlongのそれぞれについて、UとLの組み合わせである接尾辞を付けることもできます。接尾辞は大文字または小文字にすることができ、任意の順序にすることができます。
整数リテラルの例を次に示します-
212 /* Legal */
215u /* Legal */
0xFeeL /* Legal */
以下は、さまざまなタイプの整数リテラルの他の例です。
85 /* decimal */
0x4b /* hexadecimal */
30 /* int */
30u /* unsigned int */
30l /* long */
30ul /* unsigned long */
浮動小数点リテラル
浮動小数点リテラルには、整数部分、小数点、小数部分、および指数部分があります。浮動小数点リテラルは、10進形式または指数形式のいずれかで表すことができます。
浮動小数点リテラルの例を次に示します-
3.14159 /* Legal */
314159E-5F /* Legal */
510E /* Illegal: incomplete exponent */
210f /* Illegal: no decimal or exponent */
.e55 /* Illegal: missing integer or fraction */
10進形式で表す場合は、小数点、指数、またはその両方を含める必要があります。指数形式を使用して表現する場合は、整数部分、小数部分、またはその両方を含める必要があります。符号付き指数は、eまたはEによって導入されます。
文字定数
文字リテラルは一重引用符で囲まれています。たとえば、「x」はchar型の単純な変数に格納できます。文字リテラルは、プレーン文字( 'x'など)、エスケープシーケンス( '\ t'など)、またはユニバーサル文字( '\ u02C0'など)にすることができます。
C#には、前に円記号が付いている特定の文字があります。これらには特別な意味があり、改行(\ n)やタブ(\ t)のように表すために使用されます。ここに、そのようなエスケープシーケンスコードのいくつかのリストがあります-
エスケープシーケンス | 意味 |
---|---|
\\ | \ キャラクター |
\ ' | ' キャラクター |
\ " | " キャラクター |
\? | ?キャラクター |
\ a | アラートまたはベル |
\ b | バックスペース |
\ f | フォームフィード |
\ n | 改行 |
\ r | キャリッジリターン |
\ t | 水平タブ |
\ v | 垂直タブ |
\ xhh。。。 | 1桁以上の16進数 |
以下は、いくつかのエスケープシーケンス文字を示す例です-
using System;
namespace EscapeChar {
class Program {
static void Main(string[] args) {
Console.WriteLine("Hello\tWorld\n\n");
Console.ReadLine();
}
}
}
上記のコードをコンパイルして実行すると、次の結果が得られます。
Hello World
文字列リテラル
文字列リテラルまたは定数は、二重引用符 ""または@ ""で囲みます。文字列には、文字リテラルに類似した文字(プレーン文字、エスケープシーケンス、ユニバーサル文字)が含まれます。
文字列リテラルを使用して長い行を複数の行に分割し、空白を使用して部分を区切ることができます。
文字列リテラルの例を次に示します。3つの形式はすべて同一の文字列です。
"hello, dear"
"hello, \
dear"
"hello, " "d" "ear"
@"hello dear"
定数の定義
定数は、 constキーワード。定数を定義するための構文は次のとおりです。
const <data_type> <constant_name> = value;
次のプログラムは、プログラムで定数を定義して使用する方法を示しています。
using System;
namespace DeclaringConstants {
class Program {
static void Main(string[] args) {
const double pi = 3.14159;
// constant declaration
double r;
Console.WriteLine("Enter Radius: ");
r = Convert.ToDouble(Console.ReadLine());
double areaCircle = pi * r * r;
Console.WriteLine("Radius: {0}, Area: {1}", r, areaCircle);
Console.ReadLine();
}
}
}
上記のコードをコンパイルして実行すると、次の結果が得られます。
Enter Radius:
3
Radius: 3, Area: 28.27431