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

C#の定数とリテラル:型、ルール、ベストプラクティス完全ガイド

定数とは、プログラムの実行中に変更されない固定値のことです。これらの固定値はリテラルとも呼ばれます。定数は、整数定数、浮動小数点定数、文字定数、文字列リテラルなど、基本データ型のいずれかとして定義できます。また、列挙定数もあります。

定数は通常の変数と同様に扱われますが、定義後に値を変更できない点が異なります。

整数リテラル

整数リテラルは10進数または16進数の定数として表現できます。プレフィックスで基数を指定します:16進数は0xまたは0X、10進数にはプレフィックスは不要です。

サフィックスとしてU(unsigned)とL(long)の組み合わせを指定できます。大文字小文字は区別されず、順序も自由です。

整数リテラルの例

212        // 合法
215u       // 合法(unsigned int)
0xFeeL     // 合法(16進数のlong)

// その他の例
85         // 10進数
0x4b       // 16進数
30         // int
30u        // unsigned int
30l        // long
30ul       // unsigned long

浮動小数点リテラル

浮動小数点リテラルは、整数部、小数点、小数部、指数部で構成されます。10進形式または指数形式で表現できます。

浮動小数点リテラルの例

3.14159       // 合法
314159E-5F    // 合法(指数形式)
510E          // 違法:指数が不完全
210f          // 違法:小数点も指数もない
.e55          // 違法:整数部または小数部が欠けている

10進形式の場合、小数点、指数、または両方を含める必要があります。指数形式の場合、整数部、小数部、または両方を含める必要があります。符号付き指数はeまたはEで導入されます。

文字定数

文字リテラルは一重引用符で囲みます。例:'x'。これはchar型の変数に格納できます。文字リテラルは、通常の文字('x')、エスケープシーケンス('\t')、ユニバーサル文字('\u02C0')のいずれかです。

主なエスケープシーケンス

エスケープシーケンス意味
\\バックスラッシュ文字
\'一重引用符
\"二重引用符
\?クエスチョンマーク
\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

文字列リテラル

文字列リテラルは二重引用符""または@""で囲みます。文字列には、文字リテラルと同様に、通常の文字、エスケープシーケンス、ユニバーサル文字を含めできます。

長い行を複数行に分割する場合は、空白で区切って記述します。

文字列リテラルの例(すべて同一の文字列)

"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; // 定数宣言
            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

const と readonly の違い

特徴constreadonly
初期化タイミングコンパイル時(宣言時)実行時(コンストラクタまで)
静的かどうか暗黙的にstaticインスタンスごとに異なる値可
適用対象値型、文字列、nullのみ任意の型

ベストプラクティス

C言語

  1. 交流回路における抵抗器、インダクタ、コンデンサの包括的まとめ
  2. C# キーワードと識別子:ルール、一覧、ベストプラクティス完全ガイド
  3. C# クラスとオブジェクト:堅牢な OOP の基礎
  4. C# 抽象クラスと抽象メソッドをマスターする:実践ガイド
  5. C# 部分クラスと部分メソッドを理解する
  6. C# sealed クラスとメソッドをマスターする:使用判断、実例、コードの安全性とパフォーマンス向上
  7. C++変数・リテラル・定数完全ガイド:基礎から実践まで
  8. C言語キーワードと識別子:実践ガイド
  9. C言語変数・定数・リテラル完全ガイド
  10. C 言語の変数、データ型、定数 – 実践ガイド
  11. C言語の定数とリテラル:型、使い方、ベストプラクティス