C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のリテラル数値サフィックス(接尾辞)の使い方を徹底解説

C#では、数値リテラルにサフィックス(接尾辞)を付けることで、その数値がどの型として扱われるかを明示的に指定できます。サフィックスは数値の末尾に記述する英字で、コンパイラに対して「このリテラルはこの型である」と伝える役割を持っています。

例えば、long型を指定する場合は次のように「L」を付けます。

// long サフィックス
long val1 = 29345L;

同様に、double型の場合は「D」を付けます。

// double サフィックス
double val2 = 297.325D;
Console.WriteLine(val2);

主な数値サフィックスの一覧

サフィックス対象の型使用例
L または llong29345L
D または ddouble297.325D
F または ffloat250.35F
M または mdecimal3245.5678M
U または uuint3456U
UL または ululong123456789UL

実際のコード例

それでは、各サフィックスを使った具体的なコード例を見てみましょう。

using System.IO;
using System;
public class Program {
    public static void Main() {
        // long サフィックス
        long val1 = 29345L;
        Console.WriteLine(val1);
        // decimal サフィックス
        decimal val5 = 3245.5678M;
        Console.WriteLine(val5);
        // double サフィックス
        double val2 = 297.325D;
        Console.WriteLine(val2);
        // float サフィックス
        float val3 = 250.35F;
        Console.WriteLine(val3);
        // unsigned サフィックス
        uint val4 = 3456U;
        Console.WriteLine(val4);
    }
}

実行結果

29345
3245.5678
297.325
250.35
3456

サフィックスを使うメリットと注意点

サフィックスを正しく使うことで、以下のようなメリットがあります。

  • 意図した型での扱いを保証できる: 特にfloatdecimalは、サフィックスがないとdoubleとして解釈され、暗黙的な変換エラーになることがあります。
  • オーバーフローの防止: 大きな数値を扱う際にLULを付けることで、intの範囲を超える値も安全に扱えます。
  • 可読性の向上: コードを読む人が、変数の型や数値の意図をすぐに理解できます。

なお、小文字のサフィックスも使用可能ですが、「l」(エル)は数字の「1」と紛らわしいため、慣習的には大文字の「L」を使うことが推奨されています。また、int型には専用のサフィックスは存在せず、デフォルトで整数リテラルはintとして扱われます。

  1. JavaScriptのNumber()関数とは?使い方とサンプルコードを解説

    JavaScriptのNumber()関数は、引数として渡された値やオブジェクトを、それに対応する数値へ変換するための関数です。真偽値や文字列型の数字、さらにはDateオブジェクトなども数値に変換できるため、データ型の変換処理において非常に便利な組み込み関数の一つです。例えば、Number(true)は「1」、Number(false)は「0」を返します。また、数字のみで構成された文字列「149」を渡せば数値の149に変換され、new Date()で生成した日付オブジェクトを渡すと、1970年1月1日からの経過ミリ秒数が返されます。以下に、Number()関数の動作を確認できるサンプルコードを

  2. JavaScriptで数字パターンを表示する方法【初心者向けサンプルコード】

    本記事では、テキスト入力欄とボタンを備えたJavaScript・HTMLプログラムの作成方法を解説します。ユーザーが入力欄に任意の数値(例:5)を入力してボタンをクリックすると、画面に以下のような数字パターンが表示される仕組みです。(n = 5 の場合の出力例)01 01 02 01 02 03 01 02 03 04 01 02 03 04 05仕組みのポイントこのパターンは二重ループ(ネストしたforループ)を使うことで実現できます。外側のループが「行」を制御し、内側のループがその行に表示する「数字の個数」を制御します。i 行目には 1 から i までの数字が順番に出力されるため、行が進む