English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C# 常数

定数は固定の値であり、プログラムの実行中に変更されません。定数は整数定数、浮点定数、文字定数、文字列定数、および列挙定数などの任意の基本データ型でできます。

定数は通常の変数として扱うことができますが、定義後にその値を変更することはできません。

整数常

整数常は、十進、八進、十六進の常でできます。接頭辞が基数を指定します:0x または 0X は十六進、0 は八進、接頭辞がなくなる場合は十進を表します。

整数常は、U と L の組み合わせで後続できます。U と L はそれぞれ unsigned と long を表します。サフィックスは大文字または小文字で、複数のサフィックスは任意の順序で組み合わせられます。

ここには、整数常の例があります:

212         /* 合法 */
215u        /* 合法 */
0xFeeL      /* 合法 */
078         /* 非法:8 八進数の数字ではありません */
032UU       /* 非法:サフィックスが重複しています */

以下は、様々な整数常の例です:

85         /* 十進 */
0213       /* 八進 */
0x4b       /* 十六進 */
30         /* int */
30u        /* 無符号 int */
30l        /* long */
30ul       /* 無符号 long */

浮動小数点常

浮動小数点常は、整数部分、小数点、小数部分、指数部分で構成されています。浮動小数点常は、小数形式または指数形式で表現できます。

ここには、浮動小数点常の例があります:

3.14159       /* 合法 */
314159E-5L    /* 合法 */
510E          /* 非法:不完全な指数 */
210f          /* 非法:小数または指数がありません */
.e55          /* 非法:整数または小数が不足しています */

小数形式で表現する場合、小数点、指数またはその両方を含む必要があります。指数形式で表現する場合、整数部分、小数部分またはその両方を含む必要があります。符号付きの指数は e または E で表されます。

文字文字列

文字文字列は、シングルクォートで括られています。例えば、'x'、それが単純な文字型変数に格納できます。文字文字列は、普通の文字(例えば 'x')、エスケープシーケンス(例えば '\t')またはユニコード文字(例えば '\u0')2C0')

C# には、反斜線が前に付いている特定の文字があり、それらは行移動符(\n)やタブ(\t)を表すために使用できます。ここでは、いくつかのエスケープシーケンスコードを挙げます:

エスケープシーケンス意味
\\\\ 文字
\'' 文字
\"" 文字
\?? 文字
\aAlert や bell
\b退格键(Backspace)
\f换页符(Form feed)
\n换行符(Newline)
\r回车
\t水平制表符 tab
\v垂直制表符 tab
\ooo一到三位的八进制数
\xhh . . .一个或多个数字的十六进制数

以下是一些转义序列字符的例:

namespace EscapeChar
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello\tWorld\n\n");
            Console.ReadLine();
        }
    }
}

上記のコードがコンパイルおよび実行された場合、以下の結果が得られます:

Hello 	 World

文字列定数

文字列定数はダブルクォート "" または @"" で括られています。文字列定数に含まれる文字は文字定数と同様で、次のようになります:通常の文字、エスケープシーケンス、および一般的な文字

文字列定数を使用する際には、非常に長い行を複数の行に分割することができ、各部分にはスペースを使用することができます。

ここにはいくつかの文字列定数の例があります。以下に示される形式はすべて同じ文字列を表しています。

string a = "hello, world";                  // hello, world
string b = @"hello, world";               // hello, world
string c = "hello 	 world";               // hello 		 world
string d = @"hello 	 world";               // hello 	 world
string e = "Joe said \"Hello\" to me";      // Joe said "Hello" to me
string f = @"Joe said ""Hello"" to me";   // Joe said "Hello" to me
string g = "\\\\server\\share\\file.txt";   // \\server\share\file.txt
string h = @"\\server\share\file.txt";      // \\server\share\file.txt
string i = "one
two
three";
string j = @"one
two
three";

定数を定義する

定数は const 定数を定義するためのキーワードは以下の通りです:

const <data_type> <constant_name> = value;

以下のコードは、プログラムで定数を定義および使用する方法を示しています:

オンラインサンプル

using System;
public class ConstTest 
{
    class SampleClass
    {
        public int x;
        public int y;
        public const int c1 = 5;
        public const int c2 = c1 + 5;
        public class SampleClass(int p1, int p2) 
        {
            x = p1; 
            y = p2;
        }
    }
    static void Main()
    {
        SampleClass mC = new SampleClass(11, 22);
        Console.WriteLine("x = {0}, y = {1}
        Console.WriteLine("c1 = {0}, c2 = {1} 
                          SampleClass.c1, SampleClass.c2);
    }
}

上記のコードがコンパイルおよび実行された場合、以下の結果が得られます:

x = 11, y = 22
c1 = 5, c2 = 10